aboutsummaryrefslogtreecommitdiffstats
path: root/process.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-08 03:04:42 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-08 03:04:42 +0000
commit52c7036436f8cd5255103e37dde0720a997eec63 (patch)
tree39f22c73a0d72399e4df11a97ed2099a5bd70c29 /process.c
parent182dc9d40d7e32ef3782ad333613933afdc308f9 (diff)
downloadruby-52c7036436f8cd5255103e37dde0720a997eec63.tar.gz
process.c: child process error state
* process.c (rb_fork_err): error state in the child process is prior to exceptions in proc_syswait(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r--process.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/process.c b/process.c
index ebf231f69e..13c121f070 100644
--- a/process.c
+++ b/process.c
@@ -2874,8 +2874,8 @@ rb_fork_err(int *status, int (*chfunc)(void*, char *, size_t), void *charg, VALU
rb_io_close(io);
if (state || size) {
if (status) {
- *status = state;
rb_protect(proc_syswait, (VALUE)pid, status);
+ if (state) *status = state;
}
else {
rb_syswait(pid);