Skip to content

Conversation

@rafaelfranca
Copy link
Member

Rebase of #741

Pass signaled exit code properly to the client

Process::Status#existstatus is nil when child did not exit cleanly. When ruby process crashes, running it with spring masked exit code and returned 0.
This commit allows Spring::Server thread to properly pass application exit code to the client, even when signaled or stopped.

Fixes #676.

Process::Status#existstatus is nil when child did not exit cleanly. When ruby process crashes, running it with spring masked exit code and returned 0.
This commit allows Spring::Server thread to properly pass application exit code to child, even when signaled or stopped.

Fixes #676.
In the previous commit I fixed a scenario where Spring Server failed to pass the application exit code through to Spring Client. Should similar thing happen in future, this can also be detected in Spring Client. It should expect to read some integer and not default to 0 when read nil.

This commit introduces such assertion in Spring Client.

Also fixes #676.

@see 3a8e609
@rafaelfranca rafaelfranca merged commit d075f11 into main Jan 9, 2026
82 of 84 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Different exit code for SIGKILL'ed processes with Spring

3 participants