diff options
author | Nobuyoshi Nakada <[email protected]> | 2021-10-19 16:41:09 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2021-10-19 16:41:09 +0900 |
commit | 1d9e12925594be3d06230dc05e8b015f2928b491 (patch) | |
tree | 54e33ce07b7d1e23ae1bbc006681fd591e7316a4 /process.c | |
parent | 012cafa5c7274ef50e6306cf5c3e09c2fb64f44d (diff) |
Fill pid and error in the status
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -4296,8 +4296,9 @@ rb_fork_async_signal_safe(int *status, return result; } -rb_pid_t -rb_fork_ruby2(struct rb_process_status *status) { +static rb_pid_t +rb_fork_ruby2(struct rb_process_status *status) +{ rb_pid_t pid; int try_gc = 1, err; struct child_handler_disabler_state old; @@ -4311,6 +4312,10 @@ rb_fork_ruby2(struct rb_process_status *status) { before_fork_ruby(); pid = rb_fork(); err = errno; + if (status) { + status->pid = pid; + status->error = err; + } after_fork_ruby(); disable_child_handler_fork_parent(&old); /* yes, bad name */ |