[Python-bugs-list] [ python-Bugs-471720 ] ThreadingMixIn/TCPServer forgets close (original) (raw)
noreply@sourceforge.net noreply@sourceforge.net
Tue, 16 Oct 2001 15:01:00 -0700
- Previous message: [Python-bugs-list] [ python-Bugs-468061 ] __str__ ignored in str subclass
- Next message: [Python-bugs-list] [ python-Bugs-471893 ] Security review of pickle/marshal docs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Bugs item #471720, was opened at 2001-10-16 07:04 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=105470&aid=471720&group_id=5470
Category: Documentation Group: Python 2.2 Status: Open Resolution: None Priority: 5 Submitted By: Max Neunh�ffer (neunhoef) Assigned to: Fred L. Drake, Jr. (fdrake) Summary: ThreadingMixIn/TCPServer forgets close
Initial Comment: When using the SocketServer.TCPServer class in connection with the SocketServer.ThreadingMixIn class every request produces an open socket, because the overloaded process_request method only calls the finish_request method without calling close_request afterwards.
The test in test_socketserver.py does not notice this.
This is true for Python 2.1.1 and Python 2.2a4.
Documentation for ThreadingMixIn (and ForkingMixIn) is a little meager.
Comment By: Max Neunh�ffer (neunhoef) Date: 2001-10-16 15:01
Message: Logged In: YES user_id=350896
I suggest changing only the ThreadingMixIn class in the following way:
(1) Add a method process_request_thread which does exactly the same as the process_request method of the BaseServer class: call finish_request call close_request
(2) The overloaded process_request method does not launch the finish_request method as a new thread but instead the process_request_thread method.
Another possibility would be to somehow access the process_request method of the corresponding base class generically. However I do not know a way to access this easily and cleanly.
Still the documentation to ThreadingMixIn and ForkingMixIn could be improved.
I do not know the sourceforge bug tracker well enough to merge these "threads" as montenaro suggests.
Comment By: Skip Montanaro (montanaro) Date: 2001-10-16 09:12
Message: Logged In: YES user_id=44345
I am getting a sense of deja vu.
Before we march down this path, can we revisit (and perhaps collapse this into) the previous "thread" on this subject:
http://sourceforge.net/tracker/?group_id=5470&atid=105470&func=detail&aid=417845
Comment By: Guido van Rossum (gvanrossum) Date: 2001-10-16 08:35
Message: Logged In: YES user_id=6380
Can you suggest a fix then?
Comment By: Max Neunh�ffer (neunhoef) Date: 2001-10-16 07:49
Message: Logged In: YES user_id=350896
I would not like this, because then the correct code for a handler of a ThreadingMixIn/TCPServer would be different from a standard TCPServer. It is also not very intuitive from a programmers point of view, who only wants to use the server library.
Comment By: Guido van Rossum (gvanrossum) Date: 2001-10-16 07:31
Message: Logged In: YES user_id=6380
Let's make this a documentation issue. When using threading, the thread is responsible for closing the socket.
You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=105470&aid=471720&group_id=5470
- Previous message: [Python-bugs-list] [ python-Bugs-468061 ] __str__ ignored in str subclass
- Next message: [Python-bugs-list] [ python-Bugs-471893 ] Security review of pickle/marshal docs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]