diff options
| author | bwarsaw | 2000-06-23 04:35:58 +0000 |
|---|---|---|
| committer | bwarsaw | 2000-06-23 04:35:58 +0000 |
| commit | a9a58042b6ac54e0d2d57882efdce7cd26123ccd (patch) | |
| tree | 583927d10d54c16f3144eb91a69d524c1cf7237b /Mailman/Utils.py | |
| parent | c7a89854238d675925e84fd9dae20d69a847c088 (diff) | |
| download | mailman-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/Utils.py')
0 files changed, 0 insertions, 0 deletions
