Proposal: new signal-handling API

Brandon S. Allbery KF8NH allbery at
Mon Jul 21 02:37:20 EDT 2008

On 2008 Jul 21, at 2:20, Bulat Ziganshin wrote:
> Monday, July 21, 2008, 7:58:07 AM, you wrote:
>>> [Stuff about doing signals as exceptions.]
>> I think that the issue with this is, to which threads do you  
>> deliver the
>> exceptions?
> main one. it should handle other threads as needed

I'm not so sure:  if the point is to release resources on signal, you  
want to deliver the exception to (potentially) all threads, and the  
main thread may not have any idea of the needs of the library being  
used by another thread.

I think I would handle these exceptions by sending them only to  
threads which have registered an interest (withSignalException sigMask  
$ do ... :: Either SignalException a).  If a SignalException somehow  
ends up being rethrown back to the runtime, this is likely to be an  
error which should cause program termination --- but I can also see it  
being quietly ignored,  This might be a +RTS option.

brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at
system administrator [openafs,heimdal,too many hats] allbery at
electrical and computer engineering, carnegie mellon university    KF8NH

More information about the Libraries mailing list