summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-01 07:01:03 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-01 07:01:03 +0000
commit18e051c0f9d18ff21d5099c46c49624c82bc6704 (patch)
treec91156eadc975fb9eb6f960e3a7621079396fcde
parenta8e4aa5a9bed70e08f8e003fe53ee66c5cd75c61 (diff)
downloadruby-18e051c0f9d18ff21d5099c46c49624c82bc6704.tar.gz
ruby-18e051c0f9d18ff21d5099c46c49624c82bc6704.tar.xz
ruby-18e051c0f9d18ff21d5099c46c49624c82bc6704.zip
* process.c (proc_daemon): stops and restarts timer thread because
daemon(3) implies fork(2). [ruby-dev:38055] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--process.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6d1107bf0..49f1eea25 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/process.c b/process.c
index 9be0de57d..c8192a8e7 100644
--- a/process.c
+++ b/process.c
@@ -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)