Fix from Vinaj for the "writing to closed file" errors.  SF 670390.
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 4e74394..113df5c 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -24,7 +24,7 @@
 Copyright (C) 2001-2002 Vinay Sajip. All Rights Reserved.
 """
 
-from select import select
+import select
 import os, sys, string, struct, types, cPickle, cStringIO
 import socket, threading, time, locale
 import logging, logging.handlers, logging.config
@@ -64,7 +64,6 @@
                 if len(chunk) < 4:
                     break
                 slen = struct.unpack(">L", chunk)[0]
-                #print slen
                 chunk = self.connection.recv(slen)
                 while len(chunk) < slen:
                     chunk = chunk + self.connection.recv(slen - len(chunk))
@@ -102,13 +101,19 @@
     def serve_until_stopped(self):
         abort = 0
         while not abort:
-            rd, wr, ex = select([self.socket.fileno()],
+            rd, wr, ex = select.select([self.socket.fileno()],
                                        [], [],
                                        self.timeout)
             if rd:
                 self.handle_request()
             abort = self.abort
 
+    def process_request(self, request, client_address):
+        #import threading
+        t = threading.Thread(target = self.finish_request,
+                             args = (request, client_address))
+        t.start()
+
 def runTCP(tcpserver):
     tcpserver.serve_until_stopped()
 
@@ -421,7 +426,7 @@
     #Set up servers
     threads = []
     tcpserver = LogRecordSocketReceiver()
-    sys.stdout.write("About to start TCP server...\n")
+    #sys.stdout.write("About to start TCP server...\n")
     threads.append(threading.Thread(target=runTCP, args=(tcpserver,)))
 
     for thread in threads:
@@ -447,18 +452,17 @@
         test3()
         banner("log_test3", "end")
 
-        banner("logrecv output", "begin")
-        sys.stdout.write(sockOut.getvalue())
-        sockOut.close()
-        banner("logrecv output", "end")
-
     finally:
         #shut down server
         tcpserver.abort = 1
         for thread in threads:
             thread.join()
+        banner("logrecv output", "begin")
+        sys.stdout.write(sockOut.getvalue())
+        sockOut.close()
+        banner("logrecv output", "end")
+        sys.stdout.flush()
 
 if __name__ == "__main__":
     sys.stdout.write("test_logging\n")
     test_main()
-    sys.stdout.flush()