Process library and signals

Simon Marlow simonmar at microsoft.com
Mon Feb 7 06:45:35 EST 2005


On 02 February 2005 14:39, Glynn Clements wrote:

> Simon Marlow wrote:
>> I think this covers most of the useful situations.  If you want to do
>> the same thing in both parent and child, or handle in the parent and
>> SIG_DFL in the child: use runProcess.  If you want to ignore in the
>> parent and SIG_DFL in the child: use System.Cmd.{system,rawSystem}. 
>> To handle in the parent and ignore in the child: unfortunately not
>> directly supported.
> 
> As it stands, you can have whatever behaviour you want in the parent:
> set the desired handling before calling system/rawSystem/runProcess
> then set it back afterwards.
> 
> However, this will cease to be true for system/rawSystem if you change
> them so that the child restores the handlers to their state upon
> entry.

I don't understand...  is there a typo somewhere above?  Perhaps you
meant "child" in the first paragraph?

system/rawSystem now behave almost exactly like system() in C.  The only
difference is that you can't ignore SIGINT/SIGQUIT in the child, but I
can fix that if necessary.

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list