delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Date: | Mon, 28 Mar 2005 16:02:27 -0800 (PST) |
From: | "Peter A. Castro" <doctor AT fruitbat DOT org> |
To: | Peter Stephens <ptfoof AT sbcglobal DOT net> |
cc: | cygwin AT cygwin DOT com |
Subject: | RE: recv and errno during a connection reset/closed by peer |
In-Reply-To: | <!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAUKQItienSEKG+9226yKd5cKAAAAQAAAADZbnjoLqKEeI3+lfe/tpAgEAAAAA@sbcglobal.net> |
Message-ID: | <Pine.LNX.4.60.0503281549130.736@gremlin.fruitbat.org> |
References: | <!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAUKQItienSEKG+9226yKd5cKAAAAQAAAADZbnjoLqKEeI3+lfe/tpAgEAAAAA AT sbcglobal DOT net> |
MIME-Version: | 1.0 |
X-IsSubscribed: | yes |
On Mon, 28 Mar 2005, Peter Stephens wrote: > Brian > > Are you saying that there is no way to distinguish a dropped connection from > a MSG_PEEK with no data to retrieve? As someone who's seen this behaviour on several platforms, it can happen. I've had to deal with this little annoyance in other products by having a retry counter loop. So many consecutive recv()s of 0 length constitues a closed connection. Something like this might work here as well? > Pete > > P.S. I use this standard: http://www.unix.org/unix03.html . Is this > incorrect? Brians' link is to the Single Unix Spec V2, so it's not all that old. > Peter A. Stephens > ptfoof AT sbcglobal DOT net > > -----Original Message----- > From: Brian Ford [mailto:ford AT vss DOT fsi DOT com] > Sent: Monday, March 28, 2005 11:37 AM > To: Peter Stephens > Cc: cygwin AT cygwin DOT com > Subject: RE: recv and errno during a connection reset/closed by peer > > On Fri, 25 Mar 2005, Peter Stephens wrote: > >> I boiled this down to nothing(see below). I must be missing something >> basic. > > Yup. > >> I tried the suggestions made so far and it never gets to: >> >> printf(" >>> ERRNO %i\n", errno); >> >> I would expect that on a disconnect (I use putty in telnet or raw >> mode) it would return -1 whether it is doing MSG_PEEK or an actual >> retrieval. No luck. > > Nope (http://www.opengroup.org/onlinepubs/7990989775/xns/recv.html): > > "If no messages are available to be received and the peer has performed an > orderly shutdown, recv() returns 0." > > I think that's what you're missing. > > -- > Brian Ford > Senior Realtime Software Engineer > VITAL - Visual Simulation Systems > FlightSafety International > the best safety device in any aircraft is a well-trained pilot... > > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Problem reports: http://cygwin.com/problems.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/ > -- Peter A. Castro <doctor AT fruitbat DOT org> or <Peter DOT Castro AT oracle DOT com> "Cats are just autistic Dogs" -- Dr. Tony Attwood -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |