Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com From: Corinna Vinschen Date: Mon, 11 Dec 2000 21:28:03 +0100 X-Mailer: KMail [version 1.1.99] Content-Type: text/plain; charset="us-ascii" To: cygwin AT cygwin DOT com References: <1529f1887b DOT 1887b1529f AT uth DOT tmc DOT edu> <14900 DOT 63927 DOT 152000 DOT 146634 AT gargle DOT gargle DOT HOWL> <00121120152002 DOT 00475 AT cygbert> In-Reply-To: <00121120152002.00475@cygbert> Subject: Re: socket read()/write() problem in 1.1.6 [solved] MIME-Version: 1.0 Message-Id: <00121121280303.00475@cygbert> Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id PAA01325 On Monday 11 December 2000 20:15, Corinna Vinschen wrote: > closesocket() behaves different dependent on the SO_LINGER option > set. The default behaviour of SO_DONTLINGER which results in a > immediate return while the connection is gracefully shutdown > in the background. > > The new Cygwin socket code doesn't use standard handle duplication > on socket inheritance between processes but the special Winsock2 > functions WSADuplicateSocket() and WSASocket(). > > When calling closesocket() on duplicated sockets using the above > Winsock2 method, closesocket() seems to act as if SO_LINGER with > zero time-out is enabled which results in closesocket() returning > immediately while forcing an immediate termination of the > connection. > > That behaviour is not documented in the MSDN, AFAICS. Sorry, folks. I have discovered the above description to be somewhat rash. Further intensiv testing lead to the result that it's in fact only a timing difference between using Winsock 1.1 and Winsock 2.0 sockets. You can reproduce the connection reset failure even with the old implementation. It's far less frequently, though. > I tried various workarounds but the only reliable way seems to > be to perform a graceful shutdown in the application. At least this remains true. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc. -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com