net/adns.lua

changeset 973
b091a1a7273b
parent 886
96de7f0a41cc
child 980
b52d442161f2
--- a/net/adns.lua	Wed Apr 08 23:20:45 2009 +0100
+++ b/net/adns.lua	Fri Apr 10 10:30:50 2009 +0100
@@ -3,7 +3,7 @@
 
 local log = require "util.logger".init("adns");
 
-local coroutine, tostring = coroutine, tostring;
+local coroutine, tostring, pcall = coroutine, tostring, pcall;
 
 module "adns"
 
@@ -14,7 +14,10 @@
 				dns.query(qname, qtype, qclass);
 				coroutine.yield(nil); -- Wait for reply
 				log("debug", "Reply for "..qname.." (%s)", tostring(coroutine.running()));
-				handler(dns.peek(qname, qtype, qclass));
+				local ok, err = pcall(handler, dns.peek(qname, qtype, qclass));
+				if not ok then
+					log("debug", "Error in DNS response handler: %s", tostring(err));
+				end
 			end)();
 end
 

mercurial