develooper Front page | perl.perl5.porters | Postings from March 2000

Re: this close to v5.6.0

From:
Tom Christiansen
Date:
March 14, 2000 19:16
Subject:
Re: this close to v5.6.0
Message ID:
4644.953090205@chthon
On Tue, 14 Mar 2000 18:56:23 MST, Tom Christiansen wrote:
>>At this late stage, I think that the fix for the debugger's sigint
>>bug and its eeevil sigdie eval bug should be to add them to the
>>BUGS section and move on.

>Sounds about right to me, unless someone can prove that the
>bug is a showstopper.

Under BUGS, then, in the perldebug manpage, I suggest adding these
two short sentences:

    If you're in a slow syscall (like C<wait>ing, C<accept>ing, or
    C<read>ing from your keyboard or a socket) and haven't set up
    your own C<$SIG{INT}> handler, then you won't be able to CTRL-C
    your way back to the debugger, because the debugger's own
    C<$SIG{INT}> handler doesn't understand that it needs to 
    raise an exception to longjmp(3) out of slow syscalls.

    Even though you properly trapped them and made them non-fatal,
    all exceptions raised from within C<eval>'d strings in your own
    program will be accidentally intercepted by the debugger before
    you can get to them, printed out with a long backtrace, and
    then, before being reraised, altered in a fashion that may cause
    perfectly proper programs to messily explode when run under the
    debugger.

Look, I didn't even mention how eeevil $SIG{__DIE__} is. :-)

--tom



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