summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'process.c')
-rw-r--r--process.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/process.c b/process.c
index 396ebbe924..2391fb7295 100644
--- a/process.c
+++ b/process.c
@@ -995,6 +995,10 @@ void rb_thread_reset_timer_thread(void);
static int forked_child = 0;
+/*
+ * On old MacOS X, exec() may return ENOTSUPP if the process have multiple threads.
+ * Therefore we have to kill internal threads at once. [ruby-core: 10583]
+ */
#define before_exec() \
(rb_enable_interrupt(), (void)(forked_child ? 0 : (rb_thread_stop_timer_thread(), 1)))
#define after_exec() \