summaryrefslogtreecommitdiff
path: root/ext/Thread
diff options
context:
space:
mode:
Diffstat (limited to 'ext/Thread')
-rw-r--r--ext/Thread/Thread.xs7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/Thread/Thread.xs b/ext/Thread/Thread.xs
index 28583a19bd..be1e7af560 100644
--- a/ext/Thread/Thread.xs
+++ b/ext/Thread/Thread.xs
@@ -149,6 +149,7 @@ threadstart(void *arg)
SvREFCNT_dec(thr->specific);
SvREFCNT_dec(thr->errsv);
SvREFCNT_dec(thr->errhv);
+
Safefree(markstack);
Safefree(scopestack);
Safefree(savestack);
@@ -157,6 +158,12 @@ threadstart(void *arg)
Safefree(tmps_stack);
Safefree(ofs);
+ SvREFCNT_dec(statname);
+ Safefree(screamfirst);
+ Safefree(screamnext);
+ Safefree(reg_start_tmp);
+ SvREFCNT_dec(lastscream);
+
MUTEX_LOCK(&thr->mutex);
DEBUG_L(PerlIO_printf(PerlIO_stderr(),
"%p: threadstart finishing: state is %u\n",