[Mailman-Developers] fwd: Cron <mailman@myhost> /usr/bin/python /home/mailman/cron/senddigests (fwd)

Harald Meland Harald.Meland@usit.uio.no
08 Jan 1999 22:55:53 +0100


[Jerry Adlersfluegel]

> Traceback (innermost last):
>   File "/home/mailman/cron/senddigests", line 37, in ?
>     main()
>   File "/home/mailman/cron/senddigests", line 34, in main
>     list.SendDigestIfAny()
>   File "/home/mailman/Mailman/Digester.py", line 194, in SendDigestIfAny
>     self.SendDigestOnSize(0)
>   File "/home/mailman/Mailman/Digester.py", line 206, in SendDigestOnSize
>     self.SendDigest()
>   File "/home/mailman/Mailman/Digester.py", line 290, in SendDigest
>     self.DeliverToList(d.Present(mime=0), 
>   File "/home/mailman/Mailman/Deliverer.py", line 172, in DeliverToList
>     status = cmdproc.close()
> IOError: (10, 'No child processes')
> 
> 
> Any ideas?

Yup.  I believe this is a known problem with at least some RedHat cron
daemons -- they run their jobs with some (rather vital, like SIGCHLD)
signals set up to be ignored.

Workaround: I think that adding something like this to the top of any
script that is to be run from cron would work (as long as it is
SIGCHLD that is being incorrectly ignored, anyway):

import signal
signal.signal(signal.SIGCHLD, signal.SIG_DFL)

If this workaround does the job, it would IMHO be less obtrusive than
the workaround currently in CVS.
-- 
Harald