diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2020-12-08 09:29:09 +1300 |
---|---|---|
committer | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2020-12-09 08:55:35 +1300 |
commit | 2553c5f94a5d51c2c5876b31e4c1521ad9be12f6 (patch) | |
tree | fc7b8fe6e578424b15dea0f8b94caa7a72b5c0a1 /io.c | |
parent | a4a92ae6d99a75e11165ca09c44ccf47cf342047 (diff) | |
download | ruby-2553c5f94a5d51c2c5876b31e4c1521ad9be12f6.tar.gz |
Add support for non-blocking `Process.wait`.
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -4913,9 +4913,9 @@ fptr_waitpid(rb_io_t *fptr, int nohang) { int status; if (fptr->pid) { - rb_last_status_clear(); - rb_waitpid(fptr->pid, &status, nohang ? WNOHANG : 0); - fptr->pid = 0; + rb_last_status_clear(); + rb_waitpid(fptr->pid, &status, nohang ? WNOHANG : 0); + fptr->pid = 0; } } @@ -6433,11 +6433,11 @@ pipe_finalize(rb_io_t *fptr, int noraise) #if !defined(HAVE_WORKING_FORK) && !defined(_WIN32) int status = 0; if (fptr->stdio_file) { - status = pclose(fptr->stdio_file); + status = pclose(fptr->stdio_file); } fptr->fd = -1; fptr->stdio_file = 0; - rb_last_status_set(status, fptr->pid); + rb_last_status_set(fptr->pid, status, 0); #else fptr_finalize(fptr, noraise); #endif |