Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT cygwin DOT com Delivered-To: mailing list cygwin-developers AT cygwin DOT com Date: Fri, 5 Jul 2002 20:30:07 +0200 From: Corinna Vinschen To: cygwin-developers AT cygwin DOT com Subject: Re: Select with nonblocking connects Message-ID: <20020705203007.S21857@cygbert.vinschen.de> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: cygwin-developers AT cygwin DOT com References: <20020705144828 DOT M21857 AT cygbert DOT vinschen DOT de> <20020705155221 DOT P21857 AT cygbert DOT vinschen DOT de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020705155221.P21857@cygbert.vinschen.de> User-Agent: Mutt/1.3.22.1i On Fri, Jul 05, 2002 at 03:52:21PM +0200, Corinna Vinschen wrote: > On Fri, Jul 05, 2002 at 03:20:19PM +0200, Thomas Pfaff wrote: > > > > I guess the easiest way is to add a flag in fhandler_socket that is set > > when a connect is in progress. If it is set then add the sock handle to > > exceptfds as well. After select returns check the exceptfds, if the socket > > is signaled set it in writefds too. In UNIX you have to check the SO_ERROR > > sockopt to know if the connect has succeded or failed, but winsock sets is as > > well. Now clear the in_progress flag. > > > > For listening sockets i see no difference. > > Huh? The problem is the same as long as neither connect() nor listen() > have been called, nor a non-blocking connect() has succeeded. In either > case, the WinSock select() blocks if the SOCKET is given in write_fd, > while the Linux select() returns with the fd set in write_fd. > The difference is just the SO_ERROR value which is 0 as long as neither > connect() nor listen() have been called, resp EINPROGRESS in case of a > not finshed connect(). > > I'm not talking about a listening socket. I'm talking about a socket in > neither listening nor connected state. I've checked in a patch. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc.