Compare commits

..

6 Commits

Author SHA1 Message Date
Cloud Wu
9b901c6a38 release 0.7.1 2014-09-22 13:36:20 +08:00
云风
37d64a7028 Merge pull request #173 from cloudwu/dev
Dev
2014-09-22 13:35:09 +08:00
Cloud Wu
f8bf05513c set _ENV to metatable when shadredatad read file 2014-09-18 18:27:57 +08:00
Cloud Wu
bac9348db9 bugfix: sharedatad load name 2014-09-18 16:55:26 +08:00
Cloud Wu
3074dbea0b bugfix: wakeup sleep coroutine should return BREAK 2014-09-18 11:44:12 +08:00
Cloud Wu
fe4122e579 fix issue #171 2014-09-17 21:28:24 +08:00
4 changed files with 15 additions and 5 deletions

View File

@@ -1,3 +1,9 @@
v0.7.1 (2014-9-22)
-----------
* bugfix: wakeup sleep should return BREAK
* bugfix: sharedatad load string
* bugfix: dataserver forward error msg
v0.7.0 (2014-9-8)
-----------
* Use sproto instead of cjson

View File

@@ -122,7 +122,7 @@ local function dispatch_wakeup()
local session = sleep_session[co]
if session then
session_id_coroutine[session] = "BREAK"
return suspend(co, coroutine.resume(co, true))
return suspend(co, coroutine.resume(co, true, "BREAK"))
end
end
end
@@ -246,7 +246,8 @@ function skynet.sleep(ti)
session = tonumber(session)
local succ, ret = coroutine_yield("SLEEP", session)
sleep_session[coroutine.running()] = nil
if ret == true then
assert(succ, ret)
if ret == "BREAK" then
return "BREAK"
end
end

View File

@@ -96,7 +96,7 @@ function gateserver.start(handler)
function MSG.error(fd, msg)
if handler.error then
handler.error(fd)
handler.error(fd, msg)
end
close_fd(fd)
end

View File

@@ -32,15 +32,18 @@ end
local CMD = {}
local env_mt = { __index = _ENV }
function CMD.new(name, t)
local dt = type(t)
local value
if dt == "table" then
value = t
elseif dt == "string" then
value = {}
local f = load(t, "=" .. name, "t", env)
value = setmetatable({}, env_mt)
local f = load(t, "=" .. name, "t", value)
f()
setmetatable(value, nil)
elseif dt == "nil" then
value = {}
else