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 + + * process.c (before_exec): add small comment. + Sun Dec 26 20:52:21 2010 Tanaka Akira * 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() \