delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
Sender: | cygwin-owner AT sources DOT redhat DOT com |
Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
From: | Corinna Vinschen <cygwin AT cygwin DOT com> |
Date: | Mon, 11 Dec 2000 21:28:03 +0100 |
X-Mailer: | KMail [version 1.1.99] |
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> |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |