httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <>
Subject Re: [PATCH] Big fixes to main loop, lingering_close
Date Sat, 15 Feb 1997 21:36:45 GMT
On Sat, 15 Feb 1997, Dean Gaudet wrote:

> On Linux, a select() on an fd which has "EOF in the queue" will return
> the fd bit in both the read and exception sets (i.e. there's still data
> to be read, but the Unix knows for certain that the other end has gone
> away on pipes or sockets).  I haven't seen any other Unix do this --
> but I did run into it in my mud code when using pipe()s.
> At this point the code would proceed with the close().  Since the kernel
> has already received the data, everything might just work "correctly"
> without us having to even read() it.

If we have closed our end, and the client has closed their end, I see no
reason to read any more.  Unless the kernel is ugly.

> I've always been confused about the except set, isn't it overloaded to mean
> both error or out-of-band data?

Solaris man page says:
	Out-of-band data is the only exceptional condition.

What is an error?  An error is simply out-of-band data, in some ways.  

View raw message