summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'process.c')
-rw-r--r--process.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/process.c b/process.c
index 3aea80495d..605821853e 100644
--- a/process.c
+++ b/process.c
@@ -4132,8 +4132,12 @@ rb_fork_ruby(int *status)
rb_thread_acquire_fork_lock();
disable_child_handler_before_fork(&old);
- child.pid = pid = rb_fork();
- child.error = err = errno;
+ RB_VM_LOCK_ENTER();
+ {
+ child.pid = pid = rb_fork();
+ child.error = err = errno;
+ }
+ RB_VM_LOCK_LEAVE();
disable_child_handler_fork_parent(&old); /* yes, bad name */
if (