Fibers and inp()/outp() in Tango

Sean Kelly sean at f4.ca
Sun Aug 26 10:49:09 PDT 2007


Ingo Oeser wrote:
> Sean Kelly wrote:
> 
>>> BTW: I see Unix signal handling is widely ignored in tango, is that true?
>>>         I can imagine why.
>> Tango uses signals to coordinate garbage collection, but that's about
>> it.  I think signals are quite useful in some instances, but they're too
>> limited and too expensive to be a general-purpose tool.
> 
> Yes, but they need to be considered in the threading design AFAIK. I can dig
> out more details, if you like. But I still don't know exactly, how threading
> in D and Tango is supposed to behave in the presence of signal (e.g. : Which
> thread get which signals?).

This may be a result of my ignorance of Unix here.  I have made an 
effort to handle signal-related interruptions of thread routines, but 
wasn't aware that there is a way to specify which thread handles which 
signals.  SIGUSR1 and SIGUSR2 are reserved for use by the GC, and the 
rest just go where they may.  I think the main thread may always be the 
recipient of kill() signals?

> BTW: I noticed in horror, that tango.sys.Process doesn't provide fork.
>         You cannot do this to the Unix guys :-)

I'll pass that on :-)


Sean



More information about the Digitalmars-d mailing list