chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Re: reentrant signal handler? (was sigpipe problem)


From: felix winkelmann
Subject: Re: [Chicken-users] Re: reentrant signal handler? (was sigpipe problem)
Date: Tue, 20 May 2008 09:03:38 +0200

On Mon, May 19, 2008 at 11:24 PM, Lui Fungsin <address@hidden> wrote:
> So I confirmed that the sigpipe hanging my chicken program stems from
> the same problem - that the signal handler is not re entrant.
>
> If I handle sigpipe, linux will send the signal when the pipe is
> broken. Moreover, subsequent write to the same file no. will generate
> another sigpipe.
>
> If the signal sent are within a very short interval, it will hang the
> chicken program (as demonstrated in my program below, which handle
> sigint)
>

Normally, setting a signal-handler will install code that changes the
current nursery pointer to trigger a minor GC at the next check.
During the time window before the handler is invoked it appears to be
possible that another signal triggers another interrupt, leaving the
various saved heap-pointers in an inconsistent state. I'll look into
this, but it may take a while. Thanks for pointing this out so
thoroughly.


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]