From: Victor Stinner Date: Mon, 29 Jan 2018 11:10:22 +0000 (+0100) Subject: bpo-31233, bpo-31151: Document socketserver changes (#5417) X-Git-Tag: v3.7.0b1~35 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=db8189bb8db609ca3993dec31fb95fdbe134469a;p=python bpo-31233, bpo-31151: Document socketserver changes (#5417) socketserver.ForkingMixIn.server_close() and socketserver.ThreadingMixIn.server_close() now waits until all child processes and non-daemonic threads complete. --- diff --git a/Doc/library/socketserver.rst b/Doc/library/socketserver.rst index e12c8c9784..5600027383 100644 --- a/Doc/library/socketserver.rst +++ b/Doc/library/socketserver.rst @@ -115,6 +115,21 @@ server classes. :class:`ForkingMixIn` and the Forking classes mentioned below are only available on POSIX platforms that support :func:`~os.fork`. + :meth:`socketserver.ForkingMixIn.server_close` waits until all child + processes complete. + + :meth:`socketserver.ThreadingMixIn.server_close` waits until all non-daemon + threads complete. Use daemonic threads by setting + :data:`ThreadingMixIn.daemon_threads` to ``True`` to not wait until threads + complete. + + .. versionchanged:: 3.7 + + :meth:`socketserver.ForkingMixIn.server_close` and + :meth:`socketserver.ThreadingMixIn.server_close` now waits until all + child processes and non-daemonic threads complete. + + .. class:: ForkingTCPServer ForkingUDPServer ThreadingTCPServer diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst index 9979e69239..b70945f470 100644 --- a/Doc/whatsnew/3.7.rst +++ b/Doc/whatsnew/3.7.rst @@ -1021,6 +1021,14 @@ Changes in Python behavior Changes in the Python API ------------------------- +* :meth:`socketserver.ThreadingMixIn.server_close` now waits until all + non-daemon threads complete. Use daemonic threads by setting + :data:`ThreadingMixIn.daemon_threads` to ``True`` to not wait until threads + complete. (Contributed by Victor Stinner in :issue:`31233`.) + +* :meth:`socketserver.ForkingMixIn.server_close` now waits until all + child processes complete. (Contributed by Victor Stinner in :issue:`31151`.) + * The :func:`locale.localeconv` function now sets temporarily the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` locale in some cases.