I haven't re-tested this. Cygwin does support non-blocking I/O - and we are
using it. However for some reason a read on a non-ready socket was
blocking!.
Since I found that I have gotten a lot more familiar with the innards of
Cygwin and I should be able to track down the root cause if it is still
occuring.
Rob
----- Original Message -----
From: "Henrik Nordstrom" <hno@marasystems.com>
To: <squid-dev@squid-cache.org>
Sent: Monday, July 16, 2001 9:38 PM
Subject: CYGWIN blocking reads?
> Is this really required?
>
> Seems like a hack around a CYGWIN bug which should be fixed in CYGWIN if
> it isn't already. If CYGWIN cannot manage non-blocking I/O for read
> I cannot say it is a viable platform for running Squid. We are
> VERY likely to run into more issues like this.
>
> --
> Henrik
>
>
> found in clientKeepaliveNextRequest()
>
> /*
> * CYGWIN has a problem and is blocking on read() requests when
> there
> * is no data present.
> * This hack may hit performance a little, but it's better than
> * blocking!.
> */
> #ifdef _SQUID_CYGWIN_
> commSetSelect(conn->fd, COMM_SELECT_READ, clientReadRequest,
> conn, 0);
> #else
> clientReadRequest(conn->fd, conn); /* Read next request */
> #endif
>
>
> --
> Henrik
>
>
Received on Mon Jul 16 2001 - 05:42:28 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:14:07 MST