Software / code / prosody
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 |