chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] [PATCH] Fix for #989 and hopefully #877 too


From: Peter Bex
Subject: Re: [Chicken-hackers] [PATCH] Fix for #989 and hopefully #877 too
Date: Wed, 6 Nov 2013 15:29:52 +0100
User-agent: Mutt/1.4.2.3i

On Wed, Nov 06, 2013 at 03:21:18PM +0100, "Jörg F. Wittenberger" wrote:
> For me the problem with the overflowing signal queue was in fact that 
> too many signals of one type (signum) will cause drops of *other* 
> signals.  That's been bad for me.

That explains a thing or two.

> My solution at that time was to coalesce signals by type and handle all 
> reasons of a particular signal in a single signal handler (anyway) since 
> - as you're pointing out - this must be done in any case.
> 
> That's why it's actually enough to have a single int "signal_pending" 
> accumulate the signals in the "global_signal_handler" like this:
> 
>   signal_pending |= 1 << signum;

Maybe it's just me, but there are 256 signal handler slots.  The manpage for
signal(7) on my NetBSD box shows 32 signals.  That means the pending signals
won't ever fit in a fixnum on a 32-bit machine.

Cheers,
Peter
-- 
http://www.more-magic.net



reply via email to

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