summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-04 09:19:59 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-04 09:19:59 +0000
commit52c27b7b38447fb2a7fd6c3c996c841df3e99a77 (patch)
treedd376f17930a66341b47a27307a3cb84c6c52553 /process.c
parent0b624bdf841092a162568912b307fad816f6a59d (diff)
merges r22687 from trunk into ruby_1_9_1.
-- * process.c (proc_daemon): stops and restarts timer thread because daemon(3) implies fork(2). [ruby-dev:38055] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@22751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r--process.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/process.c b/process.c
index 9070a94d31..21b21b7d10 100644
--- a/process.c
+++ b/process.c
@@ -4197,7 +4197,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)