summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-05-29 19:28:25 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-05-29 19:28:25 +0000
commit390d25f0f5f86bb92e1f1e39be5d0dcdd6487b2c (patch)
tree23cd7cc557131261c63669856ee3b5cbddb3479a /eval.c
parentd6836ad5e1fd857af2348e4c8aba684ed16ee9c8 (diff)
* eval.c (thread_timer): timer thread should not receive any signals.
submitted by Sylvain Joyeux. [ruby-core:08546] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index ea48b775cb..d921f07a44 100644
--- a/eval.c
+++ b/eval.c
@@ -11756,6 +11756,11 @@ static void*
thread_timer(dummy)
void *dummy;
{
+ sigset_t all_signals;
+
+ sigfillset(&all_signals);
+ pthread_sigmask(SIG_BLOCK, &all_signals, 0);
+
for (;;) {
#ifdef HAVE_NANOSLEEP
struct timespec req, rem;