summaryrefslogtreecommitdiff
path: root/signal.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-09-27 09:11:13 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-09-27 09:11:13 +0000
commit6f36fedaa4788cfa956764d5b7e63fc67b444400 (patch)
treed8f62d18399c511f1626f841e8dbb95466f7558c /signal.c
parent25aa3816b173efa6889f2832c34da13021f656eb (diff)
matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/signal.c b/signal.c
index f98a0b3..b5ed58e 100644
--- a/signal.c
+++ b/signal.c
@@ -341,6 +341,14 @@ static RETSIGTYPE
sighandle(sig)
int sig;
{
+#ifdef NT
+#define end_interrupt() win32_thread_resume_main()
+ if (win32_main_context(sig, sighandle)) return;
+
+#else
+#define end_interrupt() (void)0
+#endif
+
if (sig >= NSIG) {
rb_bug("trap_handler: Bad signal %d", sig);
}
@@ -358,6 +366,7 @@ sighandle(sig)
rb_trap_pending++;
trap_pending_list[sig]++;
}
+ end_interrupt();
}
#ifdef SIGBUS