diff options
| author | bwarsaw | 2001-07-08 04:18:24 +0000 |
|---|---|---|
| committer | bwarsaw | 2001-07-08 04:18:24 +0000 |
| commit | 141105e73478a43d5739f162f6248b8f4dab4876 (patch) | |
| tree | e63d277126b68b4abfa977f9f4382d08755e27d3 /Mailman/pythonlib/cgi.py | |
| parent | 61d7788a3952f9e3fda73002523d137cab5bb0bb (diff) | |
| download | mailman-141105e73478a43d5739f162f6248b8f4dab4876.tar.gz mailman-141105e73478a43d5739f162f6248b8f4dab4876.tar.zst mailman-141105e73478a43d5739f162f6248b8f4dab4876.zip | |
Cleaner startup/restart/shutdown implementation. This allows the
sub-qrunners to cleanly exit themselves instead of potentially
stopping them in the middle of processing a message. Specifically,
sighup_handler(): Send SIGHUPs to the child processes instead of
SIGINTs.
start_lock_refresher(): Install our own SIGHUP handler, which simply
toggles off an instance-based loop flag. The signal kicks us out of
the sleep, so the next while test will return false and break us out
of the loop, existing the lock refresher. No need to deal with
KeyboardInterrupts.
start_runner(): In the parent, just return the pid of the child. In
the child, do the syslogging, and also install our own process's
SIGHUP handler, which will call the qrunner's stop() method. This
lets the qrunner break out of its loop at the next convenient place
(i.e. after processing one of its files). Again, no need to deal with
KeyboardInterrupts.
master(): More accurate syslog messages. Also, make sure the children
receive SIGHUP instead of SIGINT.
Diffstat (limited to 'Mailman/pythonlib/cgi.py')
0 files changed, 0 insertions, 0 deletions
