diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | process.c | 3 |
2 files changed, 8 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Sun Mar 1 16:01:01 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * process.c (proc_daemon): stops and restarts timer thread because + daemon(3) implies fork(2). [ruby-dev:38055] + Sun Mar 1 15:45:49 2009 Tanaka Akira <akr@fsij.org> * ext/socket/ (rsock_make_hostent): renamed from sock_make_hostent. @@ -4514,7 +4514,10 @@ proc_daemon(int argc, VALUE *argv) rb_scan_args(argc, argv, "02", &nochdir, &noclose); #if defined(HAVE_DAEMON) + prefork(); + before_fork(); n = daemon(RTEST(nochdir), RTEST(noclose)); + after_fork(); if (n < 0) rb_sys_fail("daemon"); return INT2FIX(n); #elif defined(HAVE_FORK) |