From 5fad5d63ae939f1ac3639c0eb011c358162a884f Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Tue, 4 Nov 2014 18:12:25 +0800 Subject: [PATCH] socket close fd when auth failed --- lualib/snax/loginserver.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lualib/snax/loginserver.lua b/lualib/snax/loginserver.lua index c099ddb8..3eafa674 100644 --- a/lualib/snax/loginserver.lua +++ b/lualib/snax/loginserver.lua @@ -87,16 +87,17 @@ local function launch_slave(auth_handler) return ok, server, uid, secret end - local function ret_pack(ok, err, ...) + local function ret_pack(fd, ok, err, ...) if ok then skynet.ret(skynet.pack(err, ...)) elseif err ~= socket_error then + socket.close(fd) error(err) end end - skynet.dispatch("lua", function(_,_,...) - ret_pack(pcall(auth, ...)) + skynet.dispatch("lua", function(_,_,fd,...) + ret_pack(fd,pcall(auth,fd,...)) end) end