[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[minion-cvs] Catch ECHILD, which spawning "mix" sometimes causes on ...
Update of /home/minion/cvsroot/src/minion/lib/mixminion/server
In directory moria.mit.edu:/tmp/cvs-serv12353
Modified Files:
Modules.py
Log Message:
Catch ECHILD, which spawning "mix" sometimes causes on FC2. This may be a linux2.6 issue or a python2.3 issue.
Index: Modules.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/server/Modules.py,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -d -r1.74 -r1.75
--- Modules.py 19 Apr 2004 03:47:17 -0000 1.74
+++ Modules.py 31 May 2004 15:09:02 -0000 1.75
@@ -1392,9 +1392,10 @@
cmd = self.command
opts = self.options + (self.tmpQueue.getMessagePath(handle),)
try:
+ LOG.debug("Calling %s %s", cmd, " ".join(opts))
code = os.spawnl(os.P_WAIT, cmd, cmd, *opts)
except OSError,e:
- if e.errno not in (errno.EAGAIN, errno.ENOMEM): raise
+ if e.errno not in (errno.EAGAIN, errno.ENOMEM, errno.ECHILD): raise
LOG.warn("Transient error while running Mixmaster: %s",e)
return DELIVER_FAIL_RETRY
@@ -1408,9 +1409,10 @@
cmd = self.command
LOG.debug("Flushing Mixmaster pool")
try:
+ LOG.debug("Calling %s -S", cmd)
os.spawnl(os.P_WAIT, cmd, cmd, "-S")
except OSError,e:
- if e.errno not in (errno.EAGAIN, errno.ENOMEM): raise
+ if e.errno not in (errno.EAGAIN, errno.ENOMEM, errno.ECHILD): raise
LOG.warn("Transient error while running Mixmaster: %s",e)
return DELIVER_FAIL_RETRY