[issue19530] cross thread shutdown of UDP socket exhibits unexpected behavior
Charles-François Natali
report at bugs.python.org
Sat Nov 16 01:10:11 CET 2013
Charles-François Natali added the comment:
> mpb added the comment:
>
> Someone wrote a kernel patch based on my bug report.
>
> http://www.spinics.net/lists/netdev/msg257653.html
It's just a patch to avoid returning garbage in the address.
But AFAICT, recvfrom() returning 0 is enough to know that the socket
was shut down.
But two things to keep in mind:
- it'll only work on "connected" datagram sockets
- even then, I'm not sure it's supported by POSIX: I can't think of
any spec specifying the behavior in case of cross-thread shutdown (and
close won't unblock for example). Also, I think HP-UX doesn't wake up
the waiting thread in that situation.
So I'd still advise you to either use a timeout or a select().
Cheers,
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue19530>
_______________________________________
More information about the Python-bugs-list
mailing list