summaryrefslogtreecommitdiff
path: root/mg.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-05-20 07:19:07 +0200
committerNicholas Clark <nick@ccl4.org>2009-05-20 07:19:07 +0200
commit79f8582810dc6de265f284db348dc30d7d359e3f (patch)
tree1f433e4bd0bf0614de1e71384d846943614a258d /mg.c
parent136e04590f528eea37793a322fcdfb91199ffff4 (diff)
downloadperl-79f8582810dc6de265f284db348dc30d7d359e3f.tar.gz
In Perl_magic_clearsig(), only call LEAVE if we call ENTER.
(2d4fcd5e8be8d83efa948a259c49b56fc6c27ee5, reported and fixed by RT #20613, would ENTER but not LEAVE when HAS_SIGPROCMASK was not defined.)
Diffstat (limited to 'mg.c')
-rw-r--r--mg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mg.c b/mg.c
index f6b6d87043..54679f80c9 100644
--- a/mg.c
+++ b/mg.c
@@ -1317,11 +1317,15 @@ Perl_magic_clearsig(pTHX_ SV *sv, MAGIC *mg)
if(PL_psig_ptr[i]) {
SV * const to_dec=PL_psig_ptr[i];
PL_psig_ptr[i]=0;
+#ifdef HAS_SIGPROCMASK
LEAVE;
+#endif
SvREFCNT_dec(to_dec);
}
+#ifdef HAS_SIGPROCMASK
else
LEAVE;
+#endif
}
}
return 0;