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 From: "Peter Stephens" To: "'Peter A. Castro'" Cc: Subject: RE: recv and errno during a connection reset/closed by peer Date: Tue, 29 Mar 2005 00:15:06 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit In-Reply-To: Peter, I have thought about your suggestion and it makes a lot of sense. If I understand correctly this is what you are thinking about: int I = 0; << another new line do{ ret_val = recv(afd, buf, MAX_BUF, MSG_PEEK); if(0 > ret_val) err(" >>> ERRNO"); else if(0 == ret_val){ << new lines start here if(100 < i++) done = -1; } << new lines end here else if(ret_val > 0){ i = 0; << another new line show_status(afd); ret_val = recv(afd, buf, MAX_BUF, 0); buf[ret_val]='\0'; printf("(%i) \t> %s", ret_val, buf); } usleep(250); if(!done) << another new line done = handle_it(buf); }while(!done); It seems like your suggestion would be very portable. A good suggestion and the most likely route for me at this point. Peter A. Stephens ptfoof AT sbcglobal DOT net -- 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/