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.