summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2003-04-30 05:32:32 (GMT)
committerBrett Cannon <bcannon@gmail.com>2003-04-30 05:32:32 (GMT)
commitf9addb676d7ef864c6685a1ac8423b5b2663ec68 (patch)
tree96f65859d1c2c9b114da41e39cb8c481487d7c0a
parent13da5fa999b0c5ed05af43e86c4b80fcddf73f96 (diff)
downloadcpython-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.py9
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")