diff --git a/ChangeLog b/ChangeLog index b305580caf..954bb406e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed May 30 04:29:43 2007 Nobuyoshi Nakada + + * thread_pthread.ci (thread_timer): timer thread should not + receive any signals. submitted by Sylvain Joyeux. + [ruby-core:08546] + Wed May 30 04:18:37 2007 Nobuyoshi Nakada * eval.c (rb_eval_cmd): just return if no exceptions. diff --git a/thread_pthread.ci b/thread_pthread.ci index 43dac0be5a..61ef65a478 100644 --- a/thread_pthread.ci +++ b/thread_pthread.ci @@ -462,6 +462,11 @@ static void timer_thread_function(void); static void * thread_timer(void *dummy) { + sigset_t all_signals; + + sigfillset(&all_signals); + pthread_sigmask(SIG_BLOCK, &all_signals, 0); + while (system_working) { #ifdef HAVE_NANOSLEEP struct timespec req, rem;