This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author bpb
Recipients alzheimer, bpb, christian.heimes
Date 2008-01-23.14:32:25
SpamBayes Score 0.0014472565
Marked as misclassified No
Message-id <1201098748.56.0.637093086815.issue1767511@psf.upfronthosting.co.za>
In-reply-to
Content
Main issue here (as I see it) is that StreamRequestHandler and 
DatagramRequestHandler should behave in the same way. This is not the 
case in Python 2.5.1 for the case where the handle method does not 
respond to the request socket (e.g. in my case it is forwarding data to 
a different socket).

 While handler methods in StreamRequestHandler need not send any data 
back to the request socket, in DatagramRequestHandlers an attempt will 
be made to send data whether any is available or not. This causes a 
socket hang (for several minutes) on Windows with a '10040 Message too 
long' error.

 By only sending data back to the request if the handler has written to 
wfile, this is avoided, giving the twin fixes of avoiding a nasty 
socket error and providing compatibilty with StreamRequestHandler 
behaviour.

Test has been updated to add tests of handlers which do not respond to 
the request; this causes a hang in Python2.5.1 stock (not sure how to 
avoid this and cleanly fail), test passes with changed SocketServer.

p.s. this is my first patch submission to anything, so go easy :-)
History
Date User Action Args
2008-01-23 14:32:28bpbsetspambayes_score: 0.00144726 -> 0.0014472565
recipients: + bpb, christian.heimes, alzheimer
2008-01-23 14:32:28bpbsetspambayes_score: 0.00144726 -> 0.00144726
messageid: <1201098748.56.0.637093086815.issue1767511@psf.upfronthosting.co.za>
2008-01-23 14:32:27bpblinkissue1767511 messages
2008-01-23 14:32:26bpbcreate