From 258fabefdefecc83914fc16f79f1131d8ee2dc80 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Mon, 1 Oct 2012 21:43:46 -0400 Subject: #11109: clean up docs, add whatsnew entry, and fix Justin's last name. --- Doc/library/socketserver.rst | 18 ++++++++++-------- Doc/whatsnew/3.3.rst | 10 ++++++++++ Lib/socketserver.py | 2 +- Misc/NEWS | 2 +- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/Doc/library/socketserver.rst b/Doc/library/socketserver.rst index 7dc0cc7..28e8a0a 100644 --- a/Doc/library/socketserver.rst +++ b/Doc/library/socketserver.rst @@ -153,20 +153,22 @@ Server Objects .. method:: BaseServer.serve_forever(poll_interval=0.5) - Handle requests until an explicit :meth:`shutdown` request. - Poll for shutdown every *poll_interval* seconds. Ignores :attr:`self.timeout`. It also calls - :meth:`service_actions` which may be used by a subclass or Mixin to provide - various cleanup actions. For e.g. ForkingMixin class uses - :meth:`service_actions` to cleanup the zombie child processes. + Handle requests until an explicit :meth:`shutdown` request. Poll for + shutdown every *poll_interval* seconds. Ignores :attr:`self.timeout`. It + also calls :meth:`service_actions`, which may be used by a subclass or mixin + to provide actions specific to a given service. For example, the + :class:`ForkingMixIn` class uses :meth:`service_actions` to clean up zombie + child processes. .. versionchanged:: 3.3 - Added service_actions call to the serve_forever method. + Added ``service_actions`` call to the ``serve_forever`` method. .. method:: BaseServer.service_actions() - This is called by the serve_forever loop. This method is can be overridden - by Mixin's to add cleanup or service specific actions. + This is called in the :meth:`serve_forever` loop. This method is can be + overridden by subclasses or mixin classes to perform actions specific to + a given service, such as cleanup actions. .. versionadded:: 3.3 diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst index ee4fde4..c4065b3 100644 --- a/Doc/whatsnew/3.3.rst +++ b/Doc/whatsnew/3.3.rst @@ -1805,6 +1805,16 @@ socket (Contributed by Ross Lagerwall in :issue:`10866`.) +socketserver +------------ + +:class:`~socketserver.BaseServer` now has an overridable method +:meth:`~socketserver.BaseServer.service_actions` that is called by the +:meth:`~socketserver.BaseServer.serve_forever` method in the service loop. +:class:`~socketserver.ForkingMixIn` now uses this to clean up zombie +child proceses. (Contributed by Justin Warkentin in :issue:`11109`.) + + sqlite3 ------- diff --git a/Lib/socketserver.py b/Lib/socketserver.py index 261e28e..a21318d 100644 --- a/Lib/socketserver.py +++ b/Lib/socketserver.py @@ -562,7 +562,7 @@ class ForkingMixIn: self.collect_children() def service_actions(self): - """Collect the zombie child processes regularly in the ForkingMixin. + """Collect the zombie child processes regularly in the ForkingMixIn. service_actions is called in the BaseServer's serve_forver loop. """ diff --git a/Misc/NEWS b/Misc/NEWS index 2e735f7..83d6b00 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -3296,7 +3296,7 @@ Library if the file is closed. - Issue #11109: New service_action method for BaseServer, used by ForkingMixin - class for cleanup. Initial Patch by Justin Wark. + class for cleanup. Initial Patch by Justin Warkentin. - Issue #12045: Avoid duplicate execution of command in ctypes.util._get_soname(). Patch by Sijin Joseph. -- cgit v0.12