<font face="courier new,monospace"><br></font><br><div class="gmail_quote">On Tue, Apr 10, 2012 at 8:41 AM, Darin McBride <span dir="ltr"><<a href="mailto:darin.mcbride@shaw.ca">darin.mcbride@shaw.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Tuesday April 10 2012 7:41:04 AM Marc Lehmann wrote:<br>
> On Mon, Apr 09, 2012 at 11:14:07AM -0400, Fulko Hew <<a href="mailto:fulko.hew@gmail.com">fulko.hew@gmail.com</a>><br>
wrote:<br>
> > it seems that while run_cmd() is executing... if I<br>
> > (for example) send it a INT signal, the INT signal is<br>
> > caught, but the END block doesn't get executed. If I<br>
> > wait for the run_cmd() to finish and then press CTL C,<br>
> > the END block _is_ executed.<br>
><br>
> I tried your example with the pure-perl loop, EV, Event, POE and Glib,<br>
> with and without Async::Interrupt, and whether I wait 5 seconds or not, I<br>
> always get:<br>
><br>
> catcher called with 'INT'<br>
> INSIDE END BLOCK<br>
><br>
> My guess is that your problem is elsewhere (tty settings, shell, terminal<br>
> emulator...), or maybe your test program works on your system, too?<br>
<br>
</div>As long as I wait until the "END not accessible" line to show up before I hit<br>
Ctrl-C, I never get the INSIDE END BLOCK output here. I'm most likely using<br>
EV (since it's installed), but don't have Async::Interrupt installed.<br>
<br>
$ ~/perl/blead/bin/perl <a href="http://rc.pl" target="_blank">rc.pl</a><br>
END not accessible during run_cmd()... wait 5 seconds till it's done<br>
<div class="im">^C<br>
catcher called with 'INT'<br>
</div>$<br></blockquote><div><br>Thank you for confirming the reproducibility of the symptom.<br>FYI: I have tried it both with and without Async::Interrupt, and each<br>scenario still failed.<br> <br><br></div></div>