Comparison

net/dns.lua @ 2763:083430330585

net.dns: Fix for blocking dns lookups to find waiting coroutines correctly (not that we use this in Prosody...)
author Matthew Wild <mwild1@gmail.com>
date Thu, 03 Dec 2009 01:13:06 +0000
parent 2762:2bddf8b766f7
child 2788:fb47ac5ed04c
comparison
equal deleted inserted replaced
2762:2bddf8b766f7 2763:083430330585
743 743
744 if not next(queries) then self.active[response.header.id] = nil; end 744 if not next(queries) then self.active[response.header.id] = nil; end
745 if not next(self.active) then self:closeall(); end 745 if not next(self.active) then self:closeall(); end
746 746
747 -- was the query on the wanted list? 747 -- was the query on the wanted list?
748 local q = response.question; 748 local q = response.question[1];
749 local cos = get(self.wanted, q.class, q.type, q.name); 749 local cos = get(self.wanted, q.class, q.type, q.name);
750 if cos then 750 if cos then
751 for co in pairs(cos) do 751 for co in pairs(cos) do
752 set(self.yielded, co, q.class, q.type, q.name, nil); 752 set(self.yielded, co, q.class, q.type, q.name, nil);
753 if coroutine.status(co) == "suspended" then coroutine.resume(co); end 753 if coroutine.status(co) == "suspended" then coroutine.resume(co); end