From: Bert Hubert Date: Sat, 15 Nov 2008 21:34:36 +0000 (+0000) Subject: close very rare issue with tcp/ip close reporting ECONNRESET, reported by Andrei... X-Git-Tag: rec-3.2~242 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77aac5c8add20dc31f2c7256ab1ac38e2593b3e5;p=pdns close very rare issue with tcp/ip close reporting ECONNRESET, reported by Andrei Poelov in ticket 192 git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1280 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/unix_utility.cc b/pdns/unix_utility.cc index 54e148481..85e086a12 100644 --- a/pdns/unix_utility.cc +++ b/pdns/unix_utility.cc @@ -41,7 +41,9 @@ using namespace std; int Utility::closesocket( Utility::sock_t socket ) { int ret=::close(socket); - if(ret < 0) + if(ret < 0 && errno == ECONNRESET) // see ticket 192, odd BSD behaviour + return 0; + if(ret < 0) throw AhuException("Error closing socket: "+stringerror()); return ret; }