37 lines
1013 B
Diff
37 lines
1013 B
Diff
From be48bbe8d671b6841c3ec7cb734b98071afe3cd9 Mon Sep 17 00:00:00 2001
|
|
From: Chip <chip@pobox.com>
|
|
Date: Mon, 19 Sep 2011 23:51:49 -0700
|
|
Subject: [PATCH] add a couple missing LEAVEs in perlio_async_run()
|
|
|
|
---
|
|
perlio.c | 5 ++++-
|
|
1 files changed, 4 insertions(+), 1 deletions(-)
|
|
|
|
diff --git a/perlio.c b/perlio.c
|
|
index f0d67ae..79c6fdf 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;
|
|
}
|
|
|
|
--
|
|
1.7.7.4
|
|
|