Band-aid for segfault in ext/threads/t/blocks.t on SMP machines
Rafael Garcia-Suarez [Wed, 19 Jul 2006 21:34:05 +0000 (21:34 +0000)]
p4raw-id: //depot/perl@28601

pp_hot.c

index 7a83ee7..546d93c 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2909,7 +2909,8 @@ try_autoload:
                PL_curcopdb = NULL;
            }
            /* Do we need to open block here? XXXX */
-           (void)(*CvXSUB(cv))(aTHX_ cv);
+           if (CvXSUB(cv)) /* XXX this is supposed to be true */
+               (void)(*CvXSUB(cv))(aTHX_ cv);
 
            /* Enforce some sanity in scalar context. */
            if (gimme == G_SCALAR && ++markix != PL_stack_sp - PL_stack_base ) {