你好,在hive里scheduler_newtask,创建新lua状态时,lua会放入一个nil在栈中表示当前函数,而接着的hive_copyenv会将栈中的这个nil覆盖掉,并不是把这个环境表放在当前函数栈的第一个位置,也就是lua_replace(L, -2)这时lua_gettop(L)为1,如果打开api_check这是会报错的,是故意这样做的?
我没看明白你说的问题.
scheduler_newtask 没有 "放入一个nil在栈中表示当前函数"
hive_copyenv 中也没有调用 "lua_replace(L, -2)" - 回复 | (2684) | 云风 | 2013-07-16 07:21:39