From f9addb676d7ef864c6685a1ac8423b5b2663ec68 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Wed, 30 Apr 2003 05:32:32 +0000 Subject: 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 . --- Lib/test/test_logging.py | 9 +++------ 1 file 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") -- cgit v0.12