summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--process.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7245d49220..55c06e1c1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sun Dec 26 20:28:34 2010 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+
+ * process.c (before_exec): add small comment.
+
Sun Dec 26 20:52:21 2010 Tanaka Akira <akr@fsij.org>
* ext/socket/mkconstants.rb: define INET_ADDRSTRLEN as 16 if not
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() \