fix(daemon): add ExitTimeOut to launchd plists to prevent SIGKILL during shutdown#150
fix(daemon): add ExitTimeOut to launchd plists to prevent SIGKILL during shutdown#150
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates ArcBox’s macOS launchd configuration to allow more time for graceful shutdown, preventing launchd from SIGKILL-ing the daemon mid-stop (notably after gRPC drain + VM shutdown).
Changes:
- Add
ExitTimeOut = 45to the dev LaunchAgent plist fordev.arcbox.daemon. - Add
ExitTimeOut = 45to the desktop helper’s launchd plist.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
scripts/dev.arcbox.daemon.plist |
Adds ExitTimeOut with inline rationale to avoid SIGKILL during longer graceful shutdown. |
bundle/com.arcboxlabs.desktop.helper.plist |
Adds ExitTimeOut to align helper shutdown behavior with the daemon timeout. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a7b4a8f6e4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <key>ExitTimeOut</key> | ||
| <integer>45</integer> |
There was a problem hiding this comment.
Add ExitTimeOut to the production daemon plist
This change sets ExitTimeOut only in the dev helper plist (scripts/dev.arcbox.daemon.plist), but the actual user-installed daemon plist is generated in app/arcbox-cli/src/commands/install.rs (register_daemon_service) and currently contains no ExitTimeOut key, so launchd still uses its default timeout for com.arcboxlabs.desktop.daemon in normal installs. In production/uninstall/restart flows this means the daemon can still be SIGKILLed mid-shutdown, so the stated fix does not take effect for the main path.
Useful? React with 👍 / 👎.
Summary
ExitTimeOutof 45 seconds to both launchd plist filesTest plan
arcbox daemon stopcompletes gracefully without SIGKILLCloses ABX-237