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 Tony.Gedge
Recipients Tony.Gedge
Date 2014-05-19.03:28:21
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1400470101.73.0.899149180495.issue21531@psf.upfronthosting.co.za>
In-reply-to
Content
Sending a zero-length UDP packet to asyncore closes socket by default.

The default implementation of recv() assumes that zero-length data means close.  This isn't true for UDP - it is possible to send a zero-length payload packet.

A possible work-around is to overload handle_close() and not call self.close(). However, as handle_close() is called as part of exception handling, we can't determine whether the handle_close() is happening due to a zero-length payload or an exception event.

It should be possible to process a zero-length payload UDP packet.
History
Date User Action Args
2014-05-19 03:28:21Tony.Gedgesetrecipients: + Tony.Gedge
2014-05-19 03:28:21Tony.Gedgesetmessageid: <1400470101.73.0.899149180495.issue21531@psf.upfronthosting.co.za>
2014-05-19 03:28:21Tony.Gedgelinkissue21531 messages
2014-05-19 03:28:21Tony.Gedgecreate