summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2008-07-10 07:42:15 +0000
committerDamien Miller <djm@cvs.openbsd.org>2008-07-10 07:42:15 +0000
commitdad73a68a2807ebbb2e39df7b3d9d1c8545b2291 (patch)
tree9a485a309ef52a3c30a717060d9c1b930dd4430b
parentdc1ecf146e4c99810663f29de8843975947a7a64 (diff)
retry port allocation on all errors, not just EADDRINUSE; ok jakob@
-rw-r--r--usr.sbin/bind/lib/dns/dispatch.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/bind/lib/dns/dispatch.c b/usr.sbin/bind/lib/dns/dispatch.c
index 99d5b93af2b..341798e29e7 100644
--- a/usr.sbin/bind/lib/dns/dispatch.c
+++ b/usr.sbin/bind/lib/dns/dispatch.c
@@ -1933,7 +1933,7 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr,
isc_sockaddr_setport(&localaddr_bound, 0);
result = create_socket(sockmgr, &localaddr_bound, &sock);
- if (result == ISC_R_ADDRINUSE) {
+ if (result != ISC_R_SUCCESS) {
if (++k == 1024)
attributes &= ~DNS_DISPATCHATTR_RANDOMPORT;
goto getsocket;