On 02/06/2010 22:28, Eric Kow wrote:
Hi Simon,

I don't suppose the below is something you could comment on?

On Thu, Jun 03, 2010 at 00:03:07 +0300, Dan Pascu wrote:
I got this error message from a cron job running darcs pull:

darcs: ioManagerWakeup: write: Bad file descriptor

Any idea what it means? It is not given every time. In fact I only
saw it once, while the cron job runs every 5 minutes.

A Google and a grep of the GHC source led me to:
   rts/posix/Signals.c:        if (r == -1) { sysErrorBelch("ioManagerWakeup: 
write"); }

which made me think I should informally pass up for comment...

When a signal arrives, the RTS writes information about the signal into a pipe, which is connected to the IO manager thread - the Haskell thread responsible for starting Haskell signal handlers. The error you got means that the pipe had been closed for some reason.

How are you invoking child processes, incendentally? System.Process, or manually with System.Posix.forkProcess? If the latter, I have a sneaking suspicion that we need to block signals across the fork(), or something like that. We already do it for System.Process.

Cheers,
        Simon
_______________________________________________
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to