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 | 68cb0636cbfd94f1915c8e084105a742758c54e2 (patch) | |
tree | 44764657dd2f1a2d2897eb5f7e1f918711af6697 /net | |
parent | e80a093c767df87055de3ec8aca97c0224c19aed (diff) | |
download | prosody-68cb0636cbfd94f1915c8e084105a742758c54e2.tar.gz prosody-68cb0636cbfd94f1915c8e084105a742758c54e2.zip |
net.dns: Return new socket from servfail
Diffstat (limited to 'net')
-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) |