develooper Front page | perl.perl5.porters | Postings from September 2011

Re: CPAN smoke for magicflags1 done

Thread Previous | Thread Next
From:
Chip Salzenberg
Date:
September 19, 2011 23:51
Subject:
Re: CPAN smoke for magicflags1 done
Message ID:
CANSL5VHMq3CQCMtMYvQKMhw0P0sm3kTz4OAVx2k4PRaY1gjoww@mail.gmail.com
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


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About