Commit Graph

63 Commits

Author SHA1 Message Date
Victor Stinner 29ae9dc7c3
bpo-33540: Fix socketserver.ThreadingMixIn if block_on_close=False (GH-7309)
socketserver.ThreadingMixIn no longer tracks active threads if
block_on_close is false.
2018-06-01 14:07:50 +02:00
Miss Islington (bot) fa286edbde
bpo-33540: Add block_on_close attr to socketserver (GH-6911)
Add a new block_on_close class attribute to ForkingMixIn and
ThreadingMixIn classes of socketserver to opt-in for pre-3.7 behaviour.
(cherry picked from commit 453bd0bc65)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-05-23 18:34:43 -07:00
Victor Stinner b8f4163da3 bpo-31233: socketserver.ThreadingMixIn.server_close() (#3523)
socketserver.ThreadingMixIn now keeps a list of non-daemonic threads
to wait until all these threads complete in server_close().

Reenable test_logging skipped tests.

Fix SocketHandlerTest.tearDown(): close the socket handler before
stopping the server, so the server can join threads.
2017-09-13 01:47:22 -07:00
Antoine Pitrou a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Victor Stinner aa8ec34ad5 bpo-31151: Add socketserver.ForkingMixIn.server_close() (#3057)
* Add socketserver.ForkingMixIn.server_close()

bpo-31151: socketserver.ForkingMixIn.server_close() now waits until
all child processes completed to prevent leaking zombie processes.

* Fix test on Windows which doesn't have ForkingMixIn
2017-08-10 15:28:16 +02:00
Serhiy Storchaka 70d28a184c Remove unused imports. 2016-12-16 20:00:15 +02:00
Martin Panter 34eeed4290 Issue #26721: Change StreamRequestHandler.wfile to BufferedIOBase 2016-06-29 10:12:22 +00:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) 1bb8109fe3 Reindent properly. 2016-06-03 00:16:02 +00:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) cef1f83c71 Issue #25931: Don't defining socketserver.Forking* names on platforms such
as Windows that do not support os.fork().
2016-06-03 00:13:36 +00:00
Serhiy Storchaka b6a9c9761c Issue #26778: Fixed "a/an/and" typos in code comment, documentation and error
messages.
2016-04-17 09:39:28 +03:00
Serhiy Storchaka 6a7b3a77b4 Issue #26778: Fixed "a/an/and" typos in code comment and documentation. 2016-04-17 08:32:47 +03:00
Martin Panter 0cab9c1eba Issue #26404: Add context manager to socketserver, by Aviv Palivoda 2016-04-13 00:36:52 +00:00
Martin Panter 510addf63f Issue #5824: Merge socketserver tests from 3.5 2016-02-24 06:14:15 +00:00
Martin Panter 1827eff030 Issue #5824: Fix DatagramRequestHandler tests by binding the client socket 2016-02-24 05:12:59 +00:00
Martin Panter d9108d1253 Issue #23430: Stop socketserver from catching SystemExit etc from handlers
Also make handle_error() consistently output to stderr, and fix the
documentation.
2016-02-21 08:49:56 +00:00
Martin Panter c12fef9aa3 Issue #26309: Shut down socketserver request if verify_request() is false
Patch by Aviv Palivoda.
2016-02-18 10:43:55 +00:00
Martin Panter 96a4f07107 Issues #26310, #26311: Fix typos in the documentation and code comments 2016-02-10 01:17:51 +00:00
Charles-François Natali 6e6c59b508 Issue #23285: PEP 475 -- Retry system calls failing with EINTR. 2015-02-07 13:27:50 +00:00
Berker Peksag 50457403f2 Issue #23358: Add missing BaseServer entry to socketserver.__all__.
Patch by Martin Panter.
2015-02-03 11:55:32 +02:00
Berker Peksag 3265344a85 Issue #23358: Add missing BaseServer entry to socketserver.__all__.
Patch by Martin Panter.
2015-02-03 11:55:09 +02:00
Berker Peksag 1ed2e69a4a Issue #22186: Fix typos in Lib/.
Patch by Févry Thibault.
2014-10-19 18:07:05 +03:00
Charles-François Natali acbf5235b8 Issue #22435: Fix a file descriptor leak when SocketServer bind fails. 2014-10-13 19:28:50 +01:00
Charles-François Natali 0f4f048fa5 Issue #22435: Fix a file descriptor leak when SocketServer bind fails. 2014-10-13 19:19:26 +01:00
Victor Stinner ae58649721 Issue #22043: time.monotonic() is now always available
threading.Lock.acquire(), threading.RLock.acquire() and socket operations now
use a monotonic clock, instead of the system clock, when a timeout is used.
2014-09-02 23:18:25 +02:00
Charles-François Natali af4db37f2a Issue #21491: socketserver: Fix a race condition in child processes reaping. 2014-06-20 22:49:26 +01:00
Charles-François Natali 504f5c36ef Issue #21491: socketserver: Fix a race condition in child processes reaping. 2014-06-20 22:37:35 +01:00
Charles-François Natali 1d29cc5b6c Issue #21040: socketserver: Use the selectors module. 2014-03-24 22:25:39 +00:00
Victor Stinner 7fa767e517 Issue #20976: pyflakes: Remove unused imports 2014-03-20 09:16:38 +01:00
Brett Cannon cd171c8e92 Issue #18200: Back out usage of ModuleNotFoundError (8d28d44f3a9a) 2013-07-04 17:43:24 -04:00
Brett Cannon 0a140668fa Issue #18200: Update the stdlib (except tests) to use
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Kristján Valur Jónsson cacb400345 Merge with 3.3
Issue #14574: Ignore socket errors raised when flushing a connection on close.
2012-12-26 15:15:17 +00:00
Kristján Valur Jónsson c8e7e2bb76 Merge with 3.2 :
Issue #14574: Ignore socket errors raised when flushing a connection on close.
2012-12-26 15:13:29 +00:00
Kristján Valur Jónsson 36852b7844 Issue #14574: Ignore socket errors raised when flushing a connection on close. 2012-12-25 22:46:32 +00:00
Andrew Svetlov 0832af6628 Issue #16717: get rid of socket.error, replace with OSError 2012-12-18 23:10:48 +02:00
Andrew Svetlov ad28c7f9da Issue #16706: get rid of os.error 2012-12-18 22:02:39 +02:00
R David Murray 258fabefde #11109: clean up docs, add whatsnew entry, and fix Justin's last name. 2012-10-01 21:43:46 -04:00
Antoine Pitrou c0aa9eeb90 Fix the patch for issue #7978: select() raises select.error before 3.3, not OSError. 2012-04-09 01:37:19 +02:00
Antoine Pitrou c9e8e3c4dd Issue #7978: socketserver now restarts the select() call when EINTR is returned.
This avoids crashing the server loop when a signal is received.
Patch by Jerzy Kozera.
2012-04-09 00:49:17 +02:00
Antoine Pitrou b0a9c66a49 Issue #7978: socketserver now restarts the select() call when EINTR is returned.
This avoids crashing the server loop when a signal is received.
Patch by Jerzy Kozera.
2012-04-09 00:47:24 +02:00
Florent Xicluna 495dcbd5c1 Merge 3.2: issue #13140 2011-11-04 10:22:57 +01:00
Florent Xicluna 12b66b5217 Closes #13140: Fix the daemon_threads attribute of ThreadingMixIn. 2011-11-04 10:16:28 +01:00
Ezio Melotti f78869e47e #13289: fix typo. 2011-10-29 10:41:51 +03:00
Ezio Melotti 39be383406 #13289: merge with 3.2. 2011-10-29 10:44:59 +03:00
Senthil Kumaran 5e826e8a1b Fix closes issue #11109 - socketserver.ForkingMixIn leaves zombies, also fails to reap all zombies in one pass.
A new method called service_action is made available in BaseServer, called by
serve_forever loop. This useful in cases where Mixins can use it for cleanup
action. ForkingMixin class uses service_action to collect the zombie child
processes. Initial Patch by Justin Wark.
2011-05-26 00:22:59 +08:00
Benjamin Peterson e6a06217d2 merge 3.1 2011-05-24 12:51:24 -05:00
Benjamin Peterson f847393308 backout 8b384de4e780, so a proper fix can be considered (#5715) 2011-05-24 12:50:34 -05:00
Benjamin Peterson 48e21fc46f merge 3.1 2011-05-24 12:09:26 -05:00
Benjamin Peterson a7cdb0f218 generally, sockets should be closed after they're used 2011-05-24 12:06:31 -05:00
Charles-François Natali cf057597e6 Issue #5715: In socketserver, close the server socket in the child process. 2011-05-24 18:27:25 +02:00
Charles-François Natali 7b54e7562d Issue #5715: In socketserver, close the server socket in the child process. 2011-05-24 18:23:15 +02:00