diff options
author | Brett Cannon <bcannon@gmail.com> | 2003-04-30 05:32:32 (GMT) |
---|---|---|
committer | Brett Cannon <bcannon@gmail.com> | 2003-04-30 05:32:32 (GMT) |
commit | f9addb676d7ef864c6685a1ac8423b5b2663ec68 (patch) | |
tree | 96f65859d1c2c9b114da41e39cb8c481487d7c0a | |
parent | 13da5fa999b0c5ed05af43e86c4b80fcddf73f96 (diff) | |
download | cpython-f9addb676d7ef864c6685a1ac8423b5b2663ec68.zip cpython-f9addb676d7ef864c6685a1ac8423b5b2663ec68.tar.gz cpython-f9addb676d7ef864c6685a1ac8423b5b2663ec68.tar.bz2 |
Change from a threading.Condition object to a threading.Event object for
signalling when the TCP server is done. Should hopefully solve hanging
issues for Solaris 8 & 9. Solves the apparent hanging issue with OS X.
Closes patch #729988 .
-rw-r--r-- | Lib/test/test_logging.py | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 93fb4a2..6099562 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -88,7 +88,8 @@ class LogRecordStreamHandler(StreamRequestHandler): logger = logging.getLogger(logname) logger.handle(record) -socketDataProcessed = threading.Condition() +# The server sets socketDataProcessed when it's done. +socketDataProcessed = threading.Event() class LogRecordSocketReceiver(ThreadingTCPServer): """ @@ -115,9 +116,7 @@ class LogRecordSocketReceiver(ThreadingTCPServer): self.handle_request() abort = self.abort #notify the main thread that we're about to exit - socketDataProcessed.acquire() - socketDataProcessed.notify() - socketDataProcessed.release() + socketDataProcessed.set() def process_request(self, request, client_address): #import threading @@ -467,9 +466,7 @@ def test_main(): finally: #wait for TCP receiver to terminate - socketDataProcessed.acquire() socketDataProcessed.wait() - socketDataProcessed.release() for thread in threads: thread.join() banner("logrecv output", "begin") |