Messages in this thread | | | From | (Jens-Uwe Mager) | Subject | Re: writev() BUGS! | Date | Wed, 2 Jun 1999 23:30:50 GMT |
| |
On Wed, 2 Jun 1999 13:17:37 GMT, David S. Miller <davem@redhat.com> wrote: > Date: Sat, 22 May 1999 08:17:24 -0400 (EDT) > From: HighWind Software Information <info@highwind.com> > > In any case, ::writev() does sometimes perform a partial write > on a blocking socket, that is a BUG. > >No, it is by no means a bug, it is perfectly fine behavior, and your >application must check for and deal with this case. > >It is not getting fixed, because there is nothing to fix.
Uhm, are you sure? I have never seen that behaviour on any other Unix. If a socket is in blocking mode, writev (or send) is supposed to sleep until all is send or an error occurs. I would believe a lot software would break if write returned partial results on blocking software. On the reading side the bahaviour is known and the applications compensate for that. The description at <http://www.opengroup.org/onlinepubs/007908799/xns/send.html> makes me believe that write/send shouldn't do partial things on blocking sockets.
-- Jens-Uwe Mager <pgp-mailto:62CFDB25>
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |