summaryrefslogtreecommitdiff
path: root/perlio.c
diff options
context:
space:
mode:
authorChip <chip@pobox.com>2011-09-19 23:51:49 -0700
committerChip Salzenberg <chip@pobox.com>2011-09-25 00:15:16 -0700
commitbe48bbe8d671b6841c3ec7cb734b98071afe3cd9 (patch)
treee5320407cec414274a36293f6ed1e5a6b3409cfa /perlio.c
parent73c02f1564c743dc981bd8ea1ce2b967131cbd83 (diff)
downloadperl-be48bbe8d671b6841c3ec7cb734b98071afe3cd9.tar.gz
add a couple missing LEAVEs in perlio_async_run()
Diffstat (limited to 'perlio.c')
-rw-r--r--perlio.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/perlio.c b/perlio.c
index f0d67aecd9..79c6fdf2de 100644
--- a/perlio.c
+++ b/perlio.c
@@ -2563,8 +2563,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
@@ -2576,6 +2578,7 @@ S_perlio_async_run(pTHX_ PerlIO* f) {
*f = l->next;
Safefree(l);
}
+ LEAVE;
return 1;
}