Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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: Sat, 22 Oct 2005 11:07:19 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: Socket read problem on Windows XP Pro & Cygwin Message-ID: <20051022090719.GB27476@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20051022035348.RADA2767.eastrmmtao03.cox.net@[172.18.52.8]> <4359C50C DOT 76649CA1 AT dessent DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2i On Oct 22 07:06, Todd Rearick wrote: > while(1) > { > char buf[80]; > int len; > > len = recv(infd,buf,1,0); > > if (len < 1) > { > printf("len = %d\n",len); > printf("errno = %d\n",errno); > printf("This means %s\n", strerror(errno)); > sleep(1); What you're entirely missing at this point is the fact that a return value of 0 (zero) indicates EOF. You don't test for this. Instead you're also testing errno in case of EOF, which has no meaning in this case. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat, Inc. -- 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/