summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-10 11:21:07 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-10 11:21:07 +0000
commit4b70fab9153e5082a68196f7a9287ba5685860f8 (patch)
treea81b3498b51033d176accfe379abf488e01dffc3 /process.c
parenta9e8b77697642e0be72af2a3198ddd025c2b31f3 (diff)
* process.c (rb_fork_ruby): new function.
(rb_f_fork): use rb_fork_ruby instead of rb_fork. (rb_daemon): ditto. * io.c (pipe_open): use rb_fork_ruby instead of rb_fork. * internal.h (rb_fork_ruby): declared. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r--process.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/process.c b/process.c
index 1d17ef4f96..485a5ef600 100644
--- a/process.c
+++ b/process.c
@@ -3011,6 +3011,12 @@ rb_fork(int *status, int (*chfunc)(void*), void *charg, VALUE fds)
}
+rb_pid_t
+rb_fork_ruby(int *status)
+{
+ return rb_fork(status, NULL, NULL, Qnil);
+}
+
#endif
#if defined(HAVE_FORK) && !defined(CANNOT_FORK_WITH_PTHREAD)
@@ -3044,7 +3050,7 @@ rb_f_fork(VALUE obj)
rb_secure(2);
- switch (pid = rb_fork(0, 0, 0, Qnil)) {
+ switch (pid = rb_fork_ruby(NULL)) {
case 0:
rb_thread_atfork();
if (rb_block_given_p()) {
@@ -5241,7 +5247,7 @@ rb_daemon(int nochdir, int noclose)
#else
int n;
- switch (rb_fork(0, 0, 0, Qnil)) {
+ switch (rb_fork_ruby(NULL)) {
case -1:
rb_sys_fail("daemon");
case 0:
@@ -5253,7 +5259,7 @@ rb_daemon(int nochdir, int noclose)
proc_setsid();
/* must not be process-leader */
- switch (rb_fork(0, 0, 0, Qnil)) {
+ switch (rb_fork_ruby(NULL)) {
case -1:
return -1;
case 0: