summaryrefslogtreecommitdiff
path: root/Mailman/pythonlib/cgi.py
diff options
context:
space:
mode:
authorbwarsaw2001-07-08 04:18:24 +0000
committerbwarsaw2001-07-08 04:18:24 +0000
commit141105e73478a43d5739f162f6248b8f4dab4876 (patch)
treee63d277126b68b4abfa977f9f4382d08755e27d3 /Mailman/pythonlib/cgi.py
parent61d7788a3952f9e3fda73002523d137cab5bb0bb (diff)
downloadmailman-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