[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH]: Handle missing error codes in `barf`
From: |
Mario Domenech Goulart |
Subject: |
Re: [Chicken-hackers] [PATCH]: Handle missing error codes in `barf` |
Date: |
Sat, 13 Jun 2015 14:50:07 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
On Sat, 13 Jun 2015 14:37:23 +0200 Peter Bex <address@hidden> wrote:
> On Sat, Jun 13, 2015 at 10:42:05AM +0200, "Jörg F. Wittenberger" wrote:
>> IMHO `barf` should never reach this line:
>>
>> default: panic(C_text("illegal internal error code"));
>
> Good catch! Attached is a signed-off copy of your patch, with
> an addition to NEWS, and a copy that applies cleanly against
> the chicken-5 branch as well.
>
> I think this change is important and simple enough to put into
> the prerelease branch as well.
>
> PS: I find the behaviour of the signal handler a bit erratic. If I
> send SIGBUS, for example, it will correctly trigger an exception.
> If then I send SIGILL, it will do nothing due to the default signal
> mask not including this signal (I think). If I then change the
> signal mask to the empty set, SIGILL will trigger the exception,
> but after that, sending SIGBUS no longer does anything. I can't
> explain this; the code of set-signal-mask! looks fine.
>
> Note that this has nothing to do with this patch, this simply fixes
> the handler so it will actually convert the error code into an
> exception instead of panicking. The bug (if it is a bug) is elsewhere.
Thanks, Jörg and Peter. Patches have been pushed.
Best wishes.
Mario
--
http://parenteses.org/mario