From: Gurusamy Sarathy <gsar@cpan.org>
Date: Thu, 26 Nov 1998 09:04:44 +0000 (+0000)
Subject: properly free temporaries created by threads
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=572eda1c5b2accba39030a7f94670af1c10b84c5;p=p5sagit%2Fp5-mst-13.2.git

properly free temporaries created by threads

p4raw-id: //depot/perl@2300
---

diff --git a/ext/Thread/Thread.xs b/ext/Thread/Thread.xs
index fb9aba9..4ca76ad 100644
--- a/ext/Thread/Thread.xs
+++ b/ext/Thread/Thread.xs
@@ -114,6 +114,7 @@ threadstart(void *arg)
 			  thr, SvPEEK(TOPs)));
 
     sv = POPs;
+    SAVETMPS;
     PUTBACK;
     perl_call_sv(sv, G_ARRAY|G_EVAL);
     SPAGAIN;
@@ -138,6 +139,7 @@ threadstart(void *arg)
 	for (i = 1; i <= retval; i++, SP++)
 	    sv_setsv(*av_fetch(av, i, TRUE), SvREFCNT_inc(*SP));
     }
+    FREETMPS;
 
   finishoff:
 #if 0