Code refs aren't lockable
Jerry D. Hedden [Wed, 21 Jan 2009 16:03:38 +0000 (11:03 -0500)]
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);