* process.c (rb_fork_err): save errinfo before fdopen.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a7188103fd
commit
340c3b4638
@ -1,3 +1,7 @@
|
|||||||
|
Sat Nov 6 07:03:49 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* process.c (rb_fork_err): save errinfo before fdopen.
|
||||||
|
|
||||||
Sat Nov 6 00:43:58 2010 Aaron Patterson <aaron@tenderlovemaking.com>
|
Sat Nov 6 00:43:58 2010 Aaron Patterson <aaron@tenderlovemaking.com>
|
||||||
|
|
||||||
* ext/openssl/ossl_ocsp.c (ossl_ocspcid_initialize): an optional
|
* ext/openssl/ossl_ocsp.c (ossl_ocspcid_initialize): an optional
|
||||||
|
@ -2569,8 +2569,9 @@ rb_fork_err(int *status, int (*chfunc)(void*, char *, size_t), void *charg, VALU
|
|||||||
if (!(int)rb_protect(chfunc_protect, (VALUE)&arg, &state)) _exit(EXIT_SUCCESS);
|
if (!(int)rb_protect(chfunc_protect, (VALUE)&arg, &state)) _exit(EXIT_SUCCESS);
|
||||||
#ifdef FD_CLOEXEC
|
#ifdef FD_CLOEXEC
|
||||||
if (write(ep[1], &state, sizeof(state)) == sizeof(state) && state) {
|
if (write(ep[1], &state, sizeof(state)) == sizeof(state) && state) {
|
||||||
|
VALUE errinfo = rb_errinfo();
|
||||||
io = rb_io_fdopen(ep[1], O_WRONLY|O_BINARY, NULL);
|
io = rb_io_fdopen(ep[1], O_WRONLY|O_BINARY, NULL);
|
||||||
rb_marshal_dump(rb_errinfo(), io);
|
rb_marshal_dump(errinfo, io);
|
||||||
rb_io_flush(io);
|
rb_io_flush(io);
|
||||||
}
|
}
|
||||||
err = errno;
|
err = errno;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user