In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/8165faea6ee20f11c287f0f531d49cc63ea9e6f3?hp=da76b8593eec70dc736daf75a7180d2cb0bd0f1f>
- Log ----------------------------------------------------------------- commit 8165faea6ee20f11c287f0f531d49cc63ea9e6f3 Author: Nicholas Clark <[email protected]> Date: Sun Apr 18 13:24:20 2010 +0100 Move PERL_ASYNC_CHECK() from POPBLOCK() to the kill case of Perl_apply(). This ensures that (safe) signals sent to the same process are still dispatched within the same statement (as before), without overloading the semantics of block popping. ----------------------------------------------------------------------- Summary of changes: cop.h | 1 - doio.c | 2 ++ 2 files changed, 2 insertions(+), 1 deletions(-) diff --git a/cop.h b/cop.h index 420a5d1..6c51d73 100644 --- a/cop.h +++ b/cop.h @@ -592,7 +592,6 @@ struct block { /* Exit a block (RETURN and LAST). */ #define POPBLOCK(cx,pm) \ DEBUG_CX("POP"); \ - PERL_ASYNC_CHECK(); \ cx = &cxstack[cxstack_ix--], \ newsp = PL_stack_base + cx->blk_oldsp, \ PL_curcop = cx->blk_oldcop, \ diff --git a/doio.c b/doio.c index eba7b54..98861af 100644 --- a/doio.c +++ b/doio.c @@ -1740,6 +1740,7 @@ nothing in the core. } } } + PERL_ASYNC_CHECK(); break; } #endif @@ -1770,6 +1771,7 @@ nothing in the core. tot--; } } + PERL_ASYNC_CHECK(); break; #endif case OP_UNLINK: -- Perl5 Master Repository
