summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1998-11-27 11:10:22 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1998-11-27 11:10:22 +0000
commit47d92828360781cbf2e3ddccf610d192cd5998b6 (patch)
treefaee138ddb81035956862bfebcd426d5bb89cf3e /ext
parentac60b0161d7f4c26f3afcd99fe10177b8eebee8f (diff)
parent901b18f1f40355e1c6bf8f01f58203410eb7eabb (diff)
downloadperl-47d92828360781cbf2e3ddccf610d192cd5998b6.tar.gz
Integrate from mainperl.
p4raw-id: //depot/cfgperl@2316
Diffstat (limited to 'ext')
-rw-r--r--ext/Thread/Thread.xs6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/Thread/Thread.xs b/ext/Thread/Thread.xs
index fb9aba9d92..09751c5f1a 100644
--- a/ext/Thread/Thread.xs
+++ b/ext/Thread/Thread.xs
@@ -115,6 +115,8 @@ threadstart(void *arg)
sv = POPs;
PUTBACK;
+ ENTER;
+ SAVETMPS;
perl_call_sv(sv, G_ARRAY|G_EVAL);
SPAGAIN;
retval = SP - (PL_stack_base + oldmark);
@@ -138,6 +140,8 @@ threadstart(void *arg)
for (i = 1; i <= retval; i++, SP++)
sv_setsv(*av_fetch(av, i, TRUE), SvREFCNT_inc(*SP));
}
+ FREETMPS;
+ LEAVE;
finishoff:
#if 0
@@ -174,7 +178,7 @@ threadstart(void *arg)
Safefree(PL_screamnext);
Safefree(PL_reg_start_tmp);
SvREFCNT_dec(PL_lastscream);
- /*SvREFCNT_dec(PL_defoutgv);*/
+ SvREFCNT_dec(PL_defoutgv);
MUTEX_LOCK(&thr->mutex);
DEBUG_S(PerlIO_printf(PerlIO_stderr(),