diff options
author | Kim Alvefur <zash@zash.se> | 2014-10-30 12:10:15 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2014-10-30 12:10:15 +0100 |
commit | 450ee96e48aff6a7f0bc8b2e9a63f953209a0d04 (patch) | |
tree | 44764657dd2f1a2d2897eb5f7e1f918711af6697 | |
parent | e6ae3454cf72fef2bfd67d16e34828b0c12c5210 (diff) | |
download | prosody-450ee96e48aff6a7f0bc8b2e9a63f953209a0d04.tar.gz prosody-450ee96e48aff6a7f0bc8b2e9a63f953209a0d04.zip |
net.dns: Return new socket from servfail
-rw-r--r-- | net/dns.lua | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/dns.lua b/net/dns.lua index dc2da1b6..55622fc8 100644 --- a/net/dns.lua +++ b/net/dns.lua @@ -787,7 +787,7 @@ function resolver:servfail(sock) local num = self.socketset[sock] -- Socket is dead now - self:voidsocket(sock); + sock = self:voidsocket(sock); -- Find all requests to the down server, and retry on the next server self.time = socket.gettime(); @@ -804,8 +804,8 @@ function resolver:servfail(sock) --print('timeout'); queries[question] = nil; else - local _a = self:getsocket(o.server); - if _a then _a:send(o.packet); end + sock = self:getsocket(o.server); + if sock then sock:send(o.packet); end end end end @@ -821,6 +821,7 @@ function resolver:servfail(sock) self.best_server = 1; end end + return sock; end function resolver:settimeout(seconds) |