diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2000-05-18 17:38:54 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2000-05-18 17:38:54 +0000 |
commit | 64a42268027ff84e02e086a7de2eaa105e4bc8a3 (patch) | |
tree | 1d0bb87e73c807afc60834fca9ebd3e74c93f40c | |
parent | 592fe52411267c8c3c41f0dd9a5a663f695ce2ed (diff) | |
parent | 71d280e38f6b1166e3ba01f7a839868275eb4b7f (diff) | |
download | perl-64a42268027ff84e02e086a7de2eaa105e4bc8a3.tar.gz |
Integrate with Sarathy.
p4raw-id: //depot/cfgperl@6109
-rw-r--r-- | mg.c | 8 | ||||
-rw-r--r-- | perl.h | 1 | ||||
-rw-r--r-- | win32/perlhost.h | 3 |
3 files changed, 11 insertions, 1 deletions
@@ -2100,7 +2100,11 @@ static SV* sig_sv; Signal_t Perl_sighandler(int sig) { +#if defined(WIN32) && defined(PERL_IMPLICIT_CONTEXT) + dTHXoa(PL_curinterp); /* fake TLS, because signals don't do TLS */ +#else dTHX; +#endif dSP; GV *gv = Nullgv; HV *st; @@ -2110,6 +2114,10 @@ Perl_sighandler(int sig) U32 flags = 0; I32 o_save_i = PL_savestack_ix; XPV *tXpv = PL_Xpv; + +#if defined(WIN32) && defined(PERL_IMPLICIT_CONTEXT) + PERL_SET_THX(aTHXo); /* fake TLS, see above */ +#endif if (PL_savestack_ix + 15 <= PL_savestack_max) flags |= 1; @@ -242,6 +242,7 @@ struct perl_thread; # define aTHXo aTHX # define aTHXo_ aTHX_ # define dTHXo dTHX +# define dTHXoa(x) dTHXa(x) #endif #ifndef pTHXx diff --git a/win32/perlhost.h b/win32/perlhost.h index 51e125b848..ea0d31d9dd 100644 --- a/win32/perlhost.h +++ b/win32/perlhost.h @@ -10,6 +10,7 @@ #ifndef ___PerlHost_H___ #define ___PerlHost_H___ +#include <signal.h> #include "iperlsys.h" #include "vmem.h" #include "vdir.h" @@ -1639,7 +1640,7 @@ PerlProcWaitpid(struct IPerlProc* piPerl, int pid, int *status, int flags) Sighandler_t PerlProcSignal(struct IPerlProc* piPerl, int sig, Sighandler_t subcode) { - return 0; + return signal(sig, subcode); } #ifdef USE_ITHREADS |