Ctrl-C sends signals to the entire process-group, in which case various race conditions may result. Have your experimented by killing just the child process with 'kill -INT <pid>'? On Thursday, July 06, 2006, at 11:15AM, John Goerzen <jgoerzen@complete.org> wrote:
On Thu, Jul 06, 2006 at 04:09:43PM +0200, Udo Stenzel wrote:
1) rawSystem returns ExitSuccess
or
2) rawSystem raises an IOError saying the child terminated with a signal
I am totally at a loss as to explain this difference in behavior. I would prefer it to choose option #2 always.
Could process #1 have caught SIGINT while process #2 didn't? If so, GHC is not at fault, because wait() doesn't tell about caught signals.
Unlikely, I think. Same process doing same things.
-- John _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell