diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-04-04 23:11:52 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-04-04 23:11:52 +0000 |
commit | 8931a351763bab7adf45abbc170bb711ffddf83b (patch) | |
tree | 5d7ee8bd137af952ffb6b359958989067041e142 | |
parent | e826b3c791f291f41205a51805448110f3562b42 (diff) | |
download | perl-8931a351763bab7adf45abbc170bb711ffddf83b.tar.gz |
[win32] set up PUSHSTACK for __DIE__ and __WARN__ hooks also
p4raw-id: //depot/win32/perl@881
-rw-r--r-- | cop.h | 2 | ||||
-rw-r--r-- | util.c | 9 |
2 files changed, 6 insertions, 5 deletions
@@ -297,10 +297,8 @@ struct context { #define SI_SIGNAL 4 #define SI_OVERLOAD 5 #define SI_DESTROY 6 -/* XXX todo #define SI_WARNHOOK 7 #define SI_DIEHOOK 8 -*/ struct stackinfo { AV * si_stack; /* stack for current runlevel */ @@ -1304,11 +1304,12 @@ die(pat, va_alist) SvREADONLY_on(msg); SAVEFREESV(msg); + PUSHSTACK(SI_DIEHOOK); PUSHMARK(SP); XPUSHs(msg); PUTBACK; perl_call_sv((SV*)cv, G_DISCARD); - + POPSTACK(); LEAVE; } } @@ -1369,11 +1370,12 @@ croak(pat, va_alist) SvREADONLY_on(msg); SAVEFREESV(msg); + PUSHSTACK(SI_DIEHOOK); PUSHMARK(SP); XPUSHs(msg); PUTBACK; perl_call_sv((SV*)cv, G_DISCARD); - + POPSTACK(); LEAVE; } } @@ -1428,11 +1430,12 @@ warn(pat,va_alist) SvREADONLY_on(msg); SAVEFREESV(msg); + PUSHSTACK(SI_WARNHOOK); PUSHMARK(SP); XPUSHs(msg); PUTBACK; perl_call_sv((SV*)cv, G_DISCARD); - + POPSTACK(); LEAVE; return; } |