You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Dirk.vanGulik" <Di...@jrc.it> on 1996/04/01 17:31:17 UTC
Re: SIGPIPE and timeout on Solaris
> I think the write stuff has changed significantly with the addition
> of the buffered write code. One thing that seems to be a possible
> difference on Solaris is that write() will return a number greater
> than 0 on a blocked socket. This might be causing the problem.
> I've tried several approaches to getting this to exit the write
> loops with no success. I'll come back to it later.
It returns the number of bytes written, even if it is blocked and
can write part of the msg, see second point. But that makes sense.
o If O_NDELAY or O_NONBLOCK is set and the stream can-
not accept data, write() returns -1 and sets errno to
EAGAIN.
o If O_NDELAY or O_NONBLOCK is set and part of the
buffer has already been written when a condition
occurs in which the stream cannot accept additional
data, write() terminates and returns the number of
bytes written.
Dw.