Prevent duplicate instances by coordinating via a socket (#2691)
We've been getting a bunch of panics from duplicate app instances competing over the local sqlite DB. After chatting with @mikayla-maki we determined it was probably best to add our own mechanism to prevent duplicates rather than just relying on the OS. My logic is that we'd need to build a system like this eventually for Windows/Linux anyway so it's more appealing than reworking our local DB access to be able to cooperate with another process while likely isn't something we want to support anyway. I attempted to keep this mechanism conservative so in the case of another program interfering with it we should fail somewhat gracefully and still continue to launch, albeit without the ability to prevent another instance from launching. Fixes https://linear.app/zed-industries/issue/Z-2435/thread-background-executor-1-panicked-at-could-not-send-write-action Release Notes: - Added a mechanism to prevent duplicate Zed instances from launching to avoid a crash.
J
Julia committed
da7dce79f6ce81c16908194740f2fec1599ab17f
Committed by GitHub <noreply@github.com>
on 7/7/2023, 6:38:55 PM