[Python-Dev] noreply@sourceforge.net: [Python-bugs-list] [Bug #111620] lots of use of send() without verifyi ng amount of data sent. (original) (raw)
Greg Ewing greg@cosc.canterbury.ac.nz
Mon, 14 Aug 2000 16:01:35 +1200 (NZST)
- Previous message: [Python-Dev] noreply@sourceforge.net: [Python-bugs-list] [Bug #111620] lots of use of send() without verifyi ng amount of data sent.
- Next message: [Python-Dev] noreply@sourceforge.net: [Python-bugs-list] [Bug #111620] lots of use of send() without verifyi ng amount of data sent.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
ERRORS
EINTR A signal occurred.
Different unices seem to have manpages which differ considerably in these areas. The Solaris manpage says:
EINTR The operation was interrupted by delivery of a
signal before any data could be buffered to be
sent.
which suggests that you won't get EINTR if some data has been sent before the signal arrives. It seems to me the only thing that could possibly happen in this case is to return with fewer bytes than requested, whether the socket is non-blocking or not.
So it seems that, in the presence of signals, neither write() nor send() can be relied upon to either completely succeed or completely fail.
Perhaps the reason this hasn't caused anyone a problem is that the combination of blocking sockets and signals that you want to handle and then carry on after are fairly rare.
Greg Ewing, Computer Science Dept, +--------------------------------------+ University of Canterbury, | A citizen of NewZealandCorp, a | Christchurch, New Zealand | wholly-owned subsidiary of USA Inc. | greg@cosc.canterbury.ac.nz +--------------------------------------+
- Previous message: [Python-Dev] noreply@sourceforge.net: [Python-bugs-list] [Bug #111620] lots of use of send() without verifyi ng amount of data sent.
- Next message: [Python-Dev] noreply@sourceforge.net: [Python-bugs-list] [Bug #111620] lots of use of send() without verifyi ng amount of data sent.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]