And this one is unrelated to my patches, AFAICT. It's is a missing LEAVE on a couple paths in perlio. Fixing this allows building the Paranoid module. Since the bug is related to signal handling, timing is involved, which is why I think this showed up in the smoke. It's a false positive. diff --git perlio.c perlio.c index e42a78f..fdd531c 100644 --- perlio.c +++ perlio.c @@ -2587,8 +2587,10 @@ S_perlio_async_run(pTHX_ PerlIO* f) { SAVEDESTRUCTOR_X(S_lockcnt_dec, (void*)f); PerlIO_lockcnt(f)++; PERL_ASYNC_CHECK(); - if ( !(PerlIOBase(f)->flags & PERLIO_F_CLEARED) ) + if ( !(PerlIOBase(f)->flags & PERLIO_F_CLEARED) ) { + LEAVE; return 0; + } /* we've just run some perl-level code that could have done * anything, including closing the file or clearing this layer. * If so, free any lower layers that have already been @@ -2600,6 +2602,7 @@ S_perlio_async_run(pTHX_ PerlIO* f) { *f = l->next; Safefree(l); } + LEAVE; return 1; }Thread Previous | Thread Next