summaryrefslogtreecommitdiff
path: root/mg.c
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2002-01-11 17:49:39 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2002-01-11 17:49:39 +0000
commit1018e26f1c13277648057b08a7b77db44ebc46fe (patch)
treecf4732d6b57057c8a413df56f7355011bfcbd185 /mg.c
parent85439dabe787f501fcc574bbf8ea205f27e2943b (diff)
downloadperl-1018e26f1c13277648057b08a7b77db44ebc46fe.tar.gz
A mostly-stable version of "new" Win32 signal/kill support.
p4raw-id: //depot/perlio@14192
Diffstat (limited to 'mg.c')
-rw-r--r--mg.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/mg.c b/mg.c
index c089c8bc21..49f8bc413c 100644
--- a/mg.c
+++ b/mg.c
@@ -1073,7 +1073,9 @@ Perl_raise_signal(pTHX_ int sig)
Signal_t
Perl_csighandler(int sig)
{
-#ifndef PERL_OLD_SIGNALS
+#ifdef PERL_GET_SIG_CONTEXT
+ dTHXa(PERL_GET_SIG_CONTEXT);
+#else
dTHX;
#endif
#ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
@@ -2310,8 +2312,8 @@ static SV* sig_sv;
Signal_t
Perl_sighandler(int sig)
{
-#if defined(WIN32) && defined(PERL_IMPLICIT_CONTEXT)
- dTHXa(PL_curinterp); /* fake TLS, because signals don't do TLS */
+#ifdef PERL_GET_SIG_CONTEXT
+ dTHXa(PERL_GET_SIG_CONTEXT);
#else
dTHX;
#endif
@@ -2324,10 +2326,6 @@ Perl_sighandler(int sig)
U32 flags = 0;
XPV *tXpv = PL_Xpv;
-#if defined(WIN32) && defined(PERL_IMPLICIT_CONTEXT)
- PERL_SET_THX(aTHX); /* fake TLS, see above */
-#endif
-
if (PL_savestack_ix + 15 <= PL_savestack_max)
flags |= 1;
if (PL_markstack_ptr < PL_markstack_max - 2)
@@ -2481,3 +2479,6 @@ unwind_handler_stack(pTHX_ void *p)
SvREFCNT_dec(sig_sv);
#endif
}
+
+
+