summaryrefslogtreecommitdiffstats
path: root/signal.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-30 17:28:17 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-30 17:28:17 +0000
commiteee6a439cf5abf9dfc0a922062034fa5b9730a01 (patch)
tree0f1f7d9c26f9ae4e8de5c071b7ca8b3a5587bd60 /signal.c
parent29732d5eecffb9e88dec10c09cf5d47c591ff798 (diff)
downloadruby-eee6a439cf5abf9dfc0a922062034fa5b9730a01.tar.gz
ruby-eee6a439cf5abf9dfc0a922062034fa5b9730a01.tar.xz
ruby-eee6a439cf5abf9dfc0a922062034fa5b9730a01.zip
* signal.c (sighandler): call handler immediately only for default
handlers. [ruby-dev:25003] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/signal.c b/signal.c
index c45d3c95f..a2ffc088e 100644
--- a/signal.c
+++ b/signal.c
@@ -417,7 +417,7 @@ sighandler(sig)
ruby_signal(sig, sighandler);
#endif
- if (ATOMIC_TEST(rb_trap_immediate)) {
+ if (trap_list[sig].cmd == 0 && ATOMIC_TEST(rb_trap_immediate)) {
IN_MAIN_CONTEXT(signal_exec, sig);
ATOMIC_SET(rb_trap_immediate, 1);
}