diff --git a/Lib/test/output/test_logging b/Lib/test/output/test_logging
index 0b0c4a0..e7c3eef 100644
--- a/Lib/test/output/test_logging
+++ b/Lib/test/output/test_logging
@@ -25,7 +25,7 @@
 INFO:UNDEF:Message 22
 CRITICAL:INF.BADPARENT.UNDEF:Message 23
 CRITICAL:INF.BADPARENT:Message 24
-INFO:INF:Messages should bear numbers 0 through 24.
+INFO:INF:Finish up, it's closing time. Messages should bear numbers 0 through 24.
 -- log_test0  end    ---------------------------------------------------
 -- log_test1  begin  ---------------------------------------------------
 -- setting logging level to 'Boring' -----
@@ -511,5 +511,5 @@
 UNDEF -> INFO: Message 22 (via logrecv.tcp.UNDEF)
 INF.BADPARENT.UNDEF -> CRITICAL: Message 23 (via logrecv.tcp.INF.BADPARENT.UNDEF)
 INF.BADPARENT -> CRITICAL: Message 24 (via logrecv.tcp.INF.BADPARENT)
-INF -> INFO: Messages should bear numbers 0 through 24. (via logrecv.tcp.INF)
+INF -> INFO: Finish up, it's closing time. Messages should bear numbers 0 through 24. (via logrecv.tcp.INF)
 -- logrecv output end    ---------------------------------------------------
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 9c47408..d43b33e 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -38,6 +38,8 @@
 
 BANNER = "-- %-10s %-6s ---------------------------------------------------\n"
 
+FINISH_UP = "Finish up, it's closing time. Messages should bear numbers 0 through 24."
+
 #----------------------------------------------------------------------------
 # Log receiver
 #----------------------------------------------------------------------------
@@ -79,10 +81,15 @@
 
     def handleLogRecord(self, record):
         logname = "logrecv.tcp." + record.name
+        #If the end-of-messages sentinel is seen, tell the server to terminate
+        if record.msg == FINISH_UP:
+            self.server.abort = 1
         record.msg = record.msg + " (via " + logname + ")"
         logger = logging.getLogger(logname)
         logger.handle(record)
 
+socketDataProcessed = threading.Condition()
+
 class LogRecordSocketReceiver(ThreadingTCPServer):
     """
     A simple-minded TCP socket-based logging receiver suitable for test
@@ -107,6 +114,10 @@
             if rd:
                 self.handle_request()
             abort = self.abort
+        #notify the main thread that we're about to exit
+        socketDataProcessed.acquire()
+        socketDataProcessed.notify()
+        socketDataProcessed.release()
 
     def process_request(self, request, client_address):
         #import threading
@@ -195,7 +206,7 @@
     INF_ERR_UNDEF.info(nextmessage())
     INF_ERR_UNDEF.debug(nextmessage())
 
-    INF.info("Messages should bear numbers 0 through 24.")
+    INF.info(FINISH_UP)
 
 #----------------------------------------------------------------------------
 # Test 1
@@ -455,10 +466,10 @@
         banner("log_test3", "end")
 
     finally:
-        #shut down server
-        tcpserver.abort = 1
-        for thread in threads:
-            thread.join()
+        #wait for TCP receiver to terminate
+        socketDataProcessed.acquire()
+        socketDataProcessed.wait()
+        socketDataProcessed.release()
         banner("logrecv output", "begin")
         sys.stdout.write(sockOut.getvalue())
         sockOut.close()
