diff --git a/lualib/dns.lua b/lualib/dns.lua index 4636bf6d..26a7bcd5 100644 --- a/lualib/dns.lua +++ b/lualib/dns.lua @@ -250,7 +250,9 @@ function dns.server(server, port) assert(server, "Can't get nameserver") end dns_server = socket.udp(function(data, sz, from) - resolve(skynet.tostring(data,sz)) + local str = skynet.tostring(data,sz) + skynet.trash(data,sz) + resolve(str) end) socket.udp_connect(dns_server, server, port or 53) return server diff --git a/lualib/skynet.lua b/lualib/skynet.lua index 17f22bd3..481a2321 100644 --- a/lualib/skynet.lua +++ b/lualib/skynet.lua @@ -398,6 +398,7 @@ skynet.pack = assert(c.pack) skynet.packstring = assert(c.packstring) skynet.unpack = assert(c.unpack) skynet.tostring = assert(c.tostring) +skynet.trash = assert(c.trash) local function yield_call(service, session) watching_session[session] = service