diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | io.c | 1 |
2 files changed, 6 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Sat Dec 25 20:01:40 2010 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * io.c (pipe_open): Added rb_thread_atfork(). We must reinitialize + GVL at new process creation. + Sat Dec 25 18:26:55 2010 Tanaka Akira <akr@fsij.org> * ext/socket/option.c (inspect_ipv6_mreq): new function to inspect @@ -5072,6 +5072,7 @@ pipe_open(struct rb_exec_arg *eargp, VALUE prog, const char *modestr, int fmode, fflush(stdin); /* is it really needed? */ pid = rb_fork(&status, 0, 0, Qnil); if (pid == 0) { /* child */ + rb_thread_atfork(); popen_redirect(&arg); rb_io_synchronized(RFILE(orig_stdout)->fptr); rb_io_synchronized(RFILE(orig_stderr)->fptr); |