Issue #8576: logging updated to remove usage of find_unused_port().
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index 4f55c53..07b9d1a 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -873,6 +873,8 @@
         def run(self):
             server = self.rcvr(port=self.port, handler=self.hdlr,
                                ready=self.ready)
+            if self.port == 0:
+                self.port = server.server_address[1]
             self.ready.set()
             global _listener
             logging._acquireLock()
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 0211f56..ed17d15 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -38,8 +38,7 @@
 import struct
 import sys
 import tempfile
-from test.test_support import captured_stdout, run_with_locale, run_unittest,\
-     find_unused_port
+from test.test_support import captured_stdout, run_with_locale, run_unittest
 import textwrap
 import unittest
 import warnings
@@ -1664,10 +1663,12 @@
 
     @unittest.skipUnless(threading, 'listen() needs threading to work')
     def setup_via_listener(self, text):
-        port = find_unused_port()
-        t = logging.config.listen(port)
+        # Ask for a randomly assigned port (by using port 0)
+        t = logging.config.listen(0)
         t.start()
         t.ready.wait()
+        # Now get the port allocated
+        port = t.port
         t.ready.clear()
         try:
             sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)