kern/146845: [libc] close(2) returns error 54 (connection reset by peer) wrongly

Lavrentiev, Anton (NIH/NLM/NCBI) [C] lavr at ncbi.nlm.nih.gov
Fri May 28 04:40:04 UTC 2010


The following reply was made to PR kern/146845; it has been noted by GNATS.

From: "Lavrentiev, Anton (NIH/NLM/NCBI) [C]" <lavr at ncbi.nlm.nih.gov>
To: "bug-followup at FreeBSD.org" <bug-followup at FreeBSD.org>
Cc:  
Subject: Re: kern/146845: [libc] close(2) returns error 54 (connection reset
 by peer) wrongly
Date: Fri, 28 May 2010 00:07:16 -0400

 Hi Mikolaj and Robert,
 
 Thanks for following up on this issue!
 
 > It looks like SO_LINGER is not important to reproduce ECONNRESET.
 
 Indeed, it is not.
 
 > I am attaching the patch, which may not be a solution
 
 IMHO, it is not, unfortunately, a solution:  it seems to clear ECONNRESET
 blindly and w/o distinguishing the situation when the remote end closes the
 connection prematurely (i.e. before acknowledging all data written from the
 local end) -- and that qualifies for the true "connection reset by peer"
 from close()...
 
 Anton Lavrentiev
 Contractor NIH/NLM/NCBI
 


More information about the freebsd-net mailing list