diff --git a/lualib/mqueue.lua b/lualib/mqueue.lua index d266b852..428a6320 100644 --- a/lualib/mqueue.lua +++ b/lualib/mqueue.lua @@ -52,8 +52,16 @@ function mqueue.register(f) skynet.fork(message_dispatch,f) end +local function catch(succ, ...) + if succ then + return ... + else + error(...) + end +end + function mqueue.call(addr, ...) - return assert(skynet.call(addr, "queue", ...)) + return catch(skynet.call(addr, "queue", ...)) end function mqueue.send(addr, ...)