- Electron version: 0.37.7
- Operating system: MacOS 10.11.4

Create a directory with the attached `package.json` and `main.js` files. The app just calls `app.makeSingleInstance` (code sample copied from the Electron docs) and then creates an empty window.

[package.json.txt](https://github.com/electron/electron/files/233556/package.json.txt)
[main.js.txt](https://github.com/electron/electron/files/233558/main.js.txt)

Type:

```
    rm -rf ~/Library/Application\ Support/Electron
    npm start
```

The app will display

```
    ### version 0.37.7
    ### shouldQuit:  true
```

...even though no other instance is running.

If you create an empty ~/Library/Application\ Support/Electron directory, the app runs as expected.

(Obviously, any established Electron developer will have such a directory and will not notice this bug. Their users will notice it very quickly indeed.)

chromium_src/chrome/browser/process_singleton_posix.cc
base::Unretained(this), sock));
  return true;
}
void ProcessSingleton::Cleanup() {
  UnlinkPath(socket_path_);
  UnlinkPath(cookie_path_);
  UnlinkPath(lock_path_);
}
void ProcessSingleton::StartListening(int sock) {
  watcher_ = new LinuxWatcher(this);
  DCHECK(BrowserThread::IsMessageLoopValid(BrowserThread::IO));
  BrowserThread::PostTask(
      BrowserThread::IO,
      FROM_HERE,
      base::Bind(&ProcessSingleton::LinuxWatcher::StartListening,
                 watcher_.get(),
                 sock));
}
bool ProcessSingleton::IsSameChromeInstance(pid_t pid) {
  pid_t cur_pid = current_pid_;
  while (pid != cur_pid) {
    pid = base::GetParentProcessId(pid);
    if (pid < 0)
      return false;
    if (!IsChromeProcess(pid))
      return false;
  }
  return true;
}
bool ProcessSingleton::KillProcessByLockPath() {