This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Interruptable connect


On Tue, Feb 25, 2003 at 02:53:41PM +0100, Thomas Pfaff wrote:
> SO_ERROR seems to be difficult because setsockopt does not allow to set
> it (and i don't know which error should be set after an interrupted
> connect. Maybe you could check this on Linux).

I don't think SO_ERROR hurts badly.  We could memorize the error code
WSAEINTR (which should be the correct error code on an interrupted
call) up to the next application call to Cygwin's getsockopt(SO_ERROR). 
In Cygwin's getsockopt() we can call the WinSock getsockopt and if that
returns an error value of 0, we return the old error code instead and
set it to 0.  Otherwise we just return the new error code.  From then on,
back to normal.

> Following options seems to be unsupported by Winsock (and i suppose that
> they are unsupported by cygwin too).
> 
> SO_USELOOPBACK
> SO_SNDLOWAT
> SO_RCVLOWAT
> SO_SNDTIMEO
> SO_RCVTIMEO

Yep, unsupported.

Corinna

> And of course if the socket is already bound the socket address must be
> restored. This should be possible by using SO_REUSEADDR after the original
> socket has been closed.

Yep.

We're getting nearer...

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin at cygwin dot com
Red Hat, Inc.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]