This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: recv and errno during a connection reset/closed by peer


On Tue, 29 Mar 2005, Brian Ford wrote:

On Mon, 28 Mar 2005, Peter Stephens wrote:

FYI - I tried setting the SO_LINGER and the SO_RCVTIMEO on Linux and on
Cygwin (see code below).  It makes sense to me that if the timeout has been
exceeded then the recv(..., MSG_PEEK) should do something.  On Cygwin it
doesn't do anything.

I don't have time to check, but I imagine this is just a http://cygwin.com/acronyms/#PTC.

Yep, but I don't have time either, and this is a common enough problem for other platforms. :(

On Linux it DOES time out, but it returns -1 and errno=EAGAIN.  This is an
interesting choice for errno

Yes, it is the correct one.

I agree.


(perhaps ECONNABORTED, ESHUTDOWN, ECOMM,

definately not. Just because a recv timed out doesn't mean the connection is closed.

ETIME, ETIMEDOUT,

Maybe.


EHOSTUNREACH, or ENOLINK would have been better choices),

No as above.


The spec is kinda vague about the response to a MSG_PEEK when the connection
is lost, but I think that you could write a book on this subject with all
the possible combinations.

Yup. It's called "Unix Network Programming" by W. Richard Stevens ;-).

I believe I've got a copy of that book. I'll have to dust it off and see if it has any pronouncements in this area :)

--
Brian Ford

-- Peter A. Castro <doctor@fruitbat.org> or <Peter.Castro@oracle.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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]