From: Peter van Dijk Date: Tue, 14 Jan 2014 16:07:06 +0000 (-0800) Subject: Merge pull request #1133 from mzealey/so-reuseport X-Git-Tag: rec-3.6.0-rc1~239 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ff70ec92f61c0d8672d40bc263bebb525aa1443d;p=pdns Merge pull request #1133 from mzealey/so-reuseport fixes PowerDNS/pdns#666 --- ff70ec92f61c0d8672d40bc263bebb525aa1443d diff --cc pdns/nameserver.cc index 1be9663eb,3f044190c..7535ce4eb --- a/pdns/nameserver.cc +++ b/pdns/nameserver.cc @@@ -126,9 -132,10 +132,11 @@@ void UDPNameserver::bindIPv4( if(locala.sin4.sin_family != AF_INET) throw PDNSException("Attempting to bind IPv4 socket to IPv6 address"); - g_localaddresses.push_back(locala); + if( !d_additional_socket ) + g_localaddresses.push_back(locala); + if(::bind(s, (sockaddr*)&locala, locala.getSocklen()) < 0) { + close(s); if( errno == EADDRNOTAVAIL && ! ::arg().mustDo("local-address-nonexist-fail") ) { L<