Issue 742598: SocketServer timeout, zombies (original) (raw)
Patch adds class variable 'timeout' to BaseServer, and methods await_request and handle_timeout. Backwards compatible API -- timeout is None by default, meaning await_request jumps directly to get_request and never calls handle_timeout.
Facilitates periodic server bookkeeping (check config files, intervalic logging, etc.), if you supply your own serve loop.
Additionally, ForkingMixin sets timeout to 300 seconds, and overrides handle_timeout to call collect_children. Upshot: n zombies linger in process table until 5 minutes pass or new request arrives, whichever comes first.
docstring updates, too (s/reuse_address/allow_reuse_address, etc.)
-Mike