Fix socket accept loop not restarted after Sparkle update relaunch
After a Sparkle auto-update relaunches cmux, the control socket stops accepting connections because start() early-returns when isRunning is true, without checking if the accept loop thread is actually alive. - Add acceptLoopAlive flag to track accept loop thread liveness - Fix start() early-return to also check acceptLoopAlive, so a dead thread triggers full socket re-creation - Break acceptLoop() after 50 consecutive accept() failures with 10ms backoff instead of tight-spinning forever - Clean up socket in applicationWillTerminate and updaterWillRelaunchApplication for clean teardown before relaunch
This commit is contained in:
parent
50fce9476c
commit
9af7df0dac
3 changed files with 21 additions and 3 deletions
|
|
@ -424,6 +424,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate, UNUserNotificationCent
|
|||
}
|
||||
|
||||
func applicationWillTerminate(_ notification: Notification) {
|
||||
TerminalController.shared.stop()
|
||||
BrowserHistoryStore.shared.flushPendingSaves()
|
||||
PostHogAnalytics.shared.flush()
|
||||
notificationStore?.clearAll()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue