From 872ad763a98dcd6bb1be5e5255c98a91f24fe317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E9=A3=8E?= Date: Fri, 14 Sep 2012 13:41:44 +0800 Subject: [PATCH] bugfix: newservice --- lualib/skynet.lua | 6 +++++- service/launcher.lua | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lualib/skynet.lua b/lualib/skynet.lua index e039888a..009ea674 100644 --- a/lualib/skynet.lua +++ b/lualib/skynet.lua @@ -251,7 +251,11 @@ end function skynet.newservice(name, ...) local param = table.concat({"snlua", name, ...}, " ") local handle = skynet.call(".launcher", "text" , param) - return handle + if handle == "" then + return nil + else + return string_to_handle(handle) + end end local function group_command(cmd, handle, address) diff --git a/service/launcher.lua b/service/launcher.lua index 98d9561f..6fc82bd7 100644 --- a/service/launcher.lua +++ b/service/launcher.lua @@ -49,7 +49,7 @@ skynet.start(function() -- init notice local reply = instance[address] if reply then - skynet.redirect(reply.address , 0, "response", reply.session, skynet.pack(address)) + skynet.redirect(reply.address , 0, "response", reply.session, skynet.address(address)) instance[address] = nil end else @@ -60,7 +60,7 @@ skynet.start(function() services[inst] = cmd instance[inst] = { session = session, address = address } else - skynet.ret(skynet.pack(nil)) + skynet.ret("") end end end)