From 8224b5a62a3e780c641065873f50515af3fe5506 Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Tue, 26 Jun 2018 09:49:18 +0800 Subject: [PATCH] udp_connect may raise error --- lualib/skynet/dns.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lualib/skynet/dns.lua b/lualib/skynet/dns.lua index 96470e12..fb6c2f23 100644 --- a/lualib/skynet/dns.lua +++ b/lualib/skynet/dns.lua @@ -290,14 +290,14 @@ local function connect_server() local fd = socket.udp(function(str, from) resolve(str) end) - socket.udp_connect(fd, dns_server.address, dns_server.port) - - if dns_server.fd then + local ok, err = pcall(socket.udp_connect,fd, dns_server.address, dns_server.port) + if not ok then socket.close(fd) - else - dns_server.fd = fd - skynet.error(string.format("Udp server open %s:%s (%d)", dns_server.address, dns_server.port, fd)) + error(err) end + + dns_server.fd = fd + skynet.error(string.format("Udp server open %s:%s (%d)", dns_server.address, dns_server.port, fd)) end local DNS_SERVER_RETIRE = 60 * 100