I've just logged the small patch to ServerSocket.py into sourceforge that "fixes", or rather makes apparent the bug Bernard had discovered when writing his unit test for the socket module. The fix was simple: in keeping with the style of the module, a member variable was added to the ThreadingMixIn class 'daemon_threads' which decideds whether threads start in daemon mode. Thus to fix the server problem in the previous thread of convo, Bernard needed to do:
class ThreadingTCPServer( SocketServer.ThreadingMixIn, MyTCPServer): daemon_threads = 1
for his final version of the server. Or until this patch is accepted, he could subclass off the threadingMixIn class and change the process_request function.
The patch is #550765 in SF.