summaryrefslogtreecommitdiff
path: root/cron/run_queue
diff options
context:
space:
mode:
authorbwarsaw1999-01-13 23:53:26 +0000
committerbwarsaw1999-01-13 23:53:26 +0000
commit957f44a429df2aa42c0105925776e9b364d1f23a (patch)
tree8b39bd2ad1f1f0ee826b4a3fdf2b223704b7b791 /cron/run_queue
parent133beef3878b9274bce991a400eac18f8b582bc3 (diff)
downloadmailman-957f44a429df2aa42c0105925776e9b364d1f23a.tar.gz
mailman-957f44a429df2aa42c0105925776e9b364d1f23a.tar.zst
mailman-957f44a429df2aa42c0105925776e9b364d1f23a.zip
On some RedHat Linuxes, there appears to be a problem with some crons
messing up their SIGCHLD handling. This would manifest as an IOError getting raised in the cmdproc.close() call of DeliverToList() in Deliverer.py. Thanks go Harald Meland for describing the real problem and giving the real fix. Thanks go to Greg Stein for testing this patch and verifying that it works. Deliverer.DeliverToList(): Undo previously checked in patch, which simply wrapped a try/except around the cmdproc.close() call and ignored errno=10 IOErrors. This was treating the symptoms, not the cause. All files in cron/: Added Harald's work around of the Linux bug by including these lines in every file: # Work around known problems with some RedHat cron daemons import signal signal.signal(signal.SIGCHLD, signal.SIG_DFL) It helps RedHat and doesn't appear to hurt on e.g. Solaris.
Diffstat (limited to 'cron/run_queue')
-rw-r--r--cron/run_queue4
1 files changed, 4 insertions, 0 deletions
diff --git a/cron/run_queue b/cron/run_queue
index aea4ad4d5..86ca66367 100644
--- a/cron/run_queue
+++ b/cron/run_queue
@@ -24,4 +24,8 @@ import sys
import paths
from Mailman import OutgoingQueue
+# Work around known problems with some RedHat cron daemons
+import signal
+signal.signal(signal.SIGCHLD, signal.SIG_DFL)
+
OutgoingQueue.processQueue()