Code refs aren't lockable
authorJerry D. Hedden <jdhedden@cpan.org>
Wed, 21 Jan 2009 16:03:38 +0000 (11:03 -0500)
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Sun, 25 Jan 2009 13:29:34 +0000 (14:29 +0100)
Remove the check for code refs in pp_lock.
For debugging, assert that the ref is not a code ref
(per Dave Mitchell's suggestion).

pp.c [changed mode: 0644->0755]

diff --git a/pp.c b/pp.c
old mode 100644 (file)
new mode 100755 (executable)
index aacb789..9cedc3f
--- a/pp.c
+++ b/pp.c
@@ -5062,9 +5062,9 @@ PP(pp_lock)
     dSP;
     dTOPss;
     SV *retsv = sv;
+    assert(SvTYPE(retsv) != SVt_PVCV);
     SvLOCK(sv);
-    if (SvTYPE(retsv) == SVt_PVAV || SvTYPE(retsv) == SVt_PVHV
-       || SvTYPE(retsv) == SVt_PVCV) {
+    if (SvTYPE(retsv) == SVt_PVAV || SvTYPE(retsv) == SVt_PVHV) {
        retsv = refto(retsv);
     }
     SETs(retsv);