summaryrefslogtreecommitdiff
path: root/Mailman/Cgi/admin.py
diff options
context:
space:
mode:
authorbwarsaw2000-06-23 04:35:58 +0000
committerbwarsaw2000-06-23 04:35:58 +0000
commita9a58042b6ac54e0d2d57882efdce7cd26123ccd (patch)
tree583927d10d54c16f3144eb91a69d524c1cf7237b /Mailman/Cgi/admin.py
parentc7a89854238d675925e84fd9dae20d69a847c088 (diff)
downloadmailman-a9a58042b6ac54e0d2d57882efdce7cd26123ccd.tar.gz
mailman-a9a58042b6ac54e0d2d57882efdce7cd26123ccd.tar.zst
mailman-a9a58042b6ac54e0d2d57882efdce7cd26123ccd.zip
ArchiveMail(): First, extended the signature to take a msgdata
dictionary, which gets filled in with the child pid. This allows it to be reaped by functions higher up in the call chain. Second, and more importantly, be quite paranoid about the fork and child processes. Make absolutely sure that the child process exits. Wrap all the child code in try blocks so that no matter what, the lock will get released (by calling unlock() with the unconditionally flag set). If no exception occurs, the child will exit with status 0, otherwise the traceback will be printed to stderr, a message indicating which list has a corrupt archive is logged to logs/error, and the child process will exit with status 1. Extend the archive.lock to 1 hour.
Diffstat (limited to 'Mailman/Cgi/admin.py')
0 files changed, 0 insertions, 0 deletions