diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2002-11-22 08:08:44 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2002-11-22 08:08:44 (GMT) |
commit | f86e8ef33ec22475a051b783b19ee22c5bd3de72 (patch) | |
tree | 16617904c9e72eee7e7eea683f7055815c0fe9e8 /Lib/SocketServer.py | |
parent | e0273de4329d0f442c696891b856d91721816d72 (diff) | |
download | cpython-f86e8ef33ec22475a051b783b19ee22c5bd3de72.zip cpython-f86e8ef33ec22475a051b783b19ee22c5bd3de72.tar.gz cpython-f86e8ef33ec22475a051b783b19ee22c5bd3de72.tar.bz2 |
Patch #550765: Add daemon_threads flag.
Diffstat (limited to 'Lib/SocketServer.py')
-rw-r--r-- | Lib/SocketServer.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/SocketServer.py b/Lib/SocketServer.py index e1d5ecb..1928ad2 100644 --- a/Lib/SocketServer.py +++ b/Lib/SocketServer.py @@ -56,7 +56,8 @@ instance, a threading UDP server class is created as follows: class ThreadingUDPServer(ThreadingMixIn, UDPServer): pass The Mix-in class must come first, since it overrides a method defined -in UDPServer! +in UDPServer! Setting the various member variables also changes +the behavior of the underlying server mechanism. To implement a service, you must derive a class from BaseRequestHandler and redefine its handle() method. You can then run @@ -448,6 +449,10 @@ class ForkingMixIn: class ThreadingMixIn: """Mix-in class to handle each request in a new thread.""" + # Decides how threads will act upon termination of the + # main process + daemon_threads = 0 + def process_request_thread(self, request, client_address): """Same as in BaseServer but as a thread. @@ -466,6 +471,8 @@ class ThreadingMixIn: import threading t = threading.Thread(target = self.process_request_thread, args = (request, client_address)) + if self.daemon_threads: + t.setDaemon (1) t.start() |