Kaydet (Commit) 6e7bd654 authored tarafından R David Murray's avatar R David Murray

Merge #11109: clean up docs, add whatsnew entry, and fix Justin's last name.

...@@ -153,20 +153,22 @@ Server Objects ...@@ -153,20 +153,22 @@ Server Objects
.. method:: BaseServer.serve_forever(poll_interval=0.5) .. method:: BaseServer.serve_forever(poll_interval=0.5)
Handle requests until an explicit :meth:`shutdown` request. Handle requests until an explicit :meth:`shutdown` request. Poll for
Poll for shutdown every *poll_interval* seconds. Ignores :attr:`self.timeout`. It also calls shutdown every *poll_interval* seconds. Ignores :attr:`self.timeout`. It
:meth:`service_actions` which may be used by a subclass or Mixin to provide also calls :meth:`service_actions`, which may be used by a subclass or mixin
various cleanup actions. For e.g. ForkingMixin class uses to provide actions specific to a given service. For example, the
:meth:`service_actions` to cleanup the zombie child processes. :class:`ForkingMixIn` class uses :meth:`service_actions` to clean up zombie
child processes.
.. versionchanged:: 3.3 .. 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() .. method:: BaseServer.service_actions()
This is called by the serve_forever loop. This method is can be overridden This is called in the :meth:`serve_forever` loop. This method is can be
by Mixin's to add cleanup or service specific actions. overridden by subclasses or mixin classes to perform actions specific to
a given service, such as cleanup actions.
.. versionadded:: 3.3 .. versionadded:: 3.3
......
...@@ -1805,6 +1805,16 @@ socket ...@@ -1805,6 +1805,16 @@ socket
(Contributed by Ross Lagerwall in :issue:`10866`.) (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 sqlite3
------- -------
......
...@@ -562,7 +562,7 @@ class ForkingMixIn: ...@@ -562,7 +562,7 @@ class ForkingMixIn:
self.collect_children() self.collect_children()
def service_actions(self): 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. service_actions is called in the BaseServer's serve_forver loop.
""" """
......
...@@ -3187,8 +3187,8 @@ Library ...@@ -3187,8 +3187,8 @@ Library
- Issue #12175: FileIO.readall() now raises a ValueError instead of an IOError - Issue #12175: FileIO.readall() now raises a ValueError instead of an IOError
if the file is closed. if the file is closed.
- Issue #11109: New service_action method for BaseServer, used by ForkingMixin - 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 - Issue #12045: Avoid duplicate execution of command in
ctypes.util._get_soname(). Patch by Sijin Joseph. ctypes.util._get_soname(). Patch by Sijin Joseph.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment