recv and errno during a connection reset/closed by peer

Peter Stephens ptfoof@sbcglobal.net
Tue Mar 29 09:15:00 GMT 2005


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@sbcglobal.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/



More information about the Cygwin mailing list