- 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
const std::string& current_dir, const std::vector<std::string>& argv,
    SocketReader* reader) {
  DCHECK(ui_message_loop_ == base::MessageLoop::current());
  DCHECK(reader);
  if (parent_->notification_callback_.Run(argv,
                                          base::FilePath(current_dir))) {
    
    reader->FinishWithACK(kACKToken, arraysize(kACKToken) - 1);
  } else {
    LOG(WARNING) << "Not handling interprocess notification as browser"
                    " is shutting down";
    
    
    reader->FinishWithACK(kShutdownToken, arraysize(kShutdownToken) - 1);
    return;
  }
}
void ProcessSingleton::LinuxWatcher::RemoveSocketReader(SocketReader* reader) {
  DCHECK_CURRENTLY_ON(BrowserThread::IO);
  DCHECK(reader);
  readers_.erase(reader);
  delete reader;
}
void ProcessSingleton::LinuxWatcher::SocketReader::OnFileCanReadWithoutBlocking(