summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
authorkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-12-26 12:59:19 +0000
committerkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-12-26 12:59:19 +0000
commit5d276ea14a84de7fd204dfd635ac7b6d17ea9039 (patch)
tree26af0d14df78740b4f6492db6e88c3f68a398cef /process.c
parent2316cd4d0c903d6ee54fff09ffe6c4feef6582ce (diff)
* process.c (before_exec): add small comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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() \