summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorklm1998-11-21 22:03:14 +0000
committerklm1998-11-21 22:03:14 +0000
commit3ca43333fda0dd2e7fc319e714dbbb4a3b2e393c (patch)
tree119b26ac8873c32efa5c2edc4124934f2872886e
parent37534c0cbe1c468e663fcf1696a7b7080684e132 (diff)
downloadmailman-3ca43333fda0dd2e7fc319e714dbbb4a3b2e393c.tar.gz
mailman-3ca43333fda0dd2e7fc319e714dbbb4a3b2e393c.tar.zst
mailman-3ca43333fda0dd2e7fc319e714dbbb4a3b2e393c.zip
main(): Only the child proces should do an os._exit() - and we put it
within a try/finally to ensure, as best we can, that it happens. This may take care of the problems that greg stein was reporting, where a pipe was failing to properly notice the loss of the parent process - now the parent should exit normally. Not sure, this is the best guess so far (out of a discussion w/scott and barry).
-rwxr-xr-xmail/deliver6
1 files changed, 4 insertions, 2 deletions
diff --git a/mail/deliver b/mail/deliver
index b8b48d5d0..263d829c0 100755
--- a/mail/deliver
+++ b/mail/deliver
@@ -46,8 +46,10 @@ TRIES = 5 # Number of times to retry
def main():
if not forker():
- do_child()
- os._exit(0)
+ try:
+ do_child()
+ finally:
+ os._exit(0)
def do_child():
LogStdErr("error", "deliver (child)")