コード例 #1
0
ファイル: lua-profile.c プロジェクト: booljin/skynet
static int
lyield_co(lua_State *L) {
	luaL_checktype(L, 1, LUA_TTHREAD);
	lua_rotate(L, 1, -1);
	
	return timing_yield(L);
}
コード例 #2
0
ファイル: profile.c プロジェクト: wonghoifung/tips
static int
lyield(lua_State *L) {
	// printf("%s(%d): %d\n", __FUNCTION__, __LINE__, lua_gettop(L));
	lua_pushthread(L);

	return timing_yield(L);
}
コード例 #3
0
ファイル: profile.c プロジェクト: wonghoifung/tips
static int
lyield_co(lua_State *L) {
	// printf("%s(%d): %d\n", __FUNCTION__, __LINE__, lua_gettop(L));
	luaL_checktype(L, 1, LUA_TTHREAD); // 检查类型, 不是协程会挂,不会增加stack
	lua_rotate(L, 1, -1); // 把1指向的协程放到栈顶
	
	return timing_yield(L);
}
コード例 #4
0
ファイル: lua-profile.c プロジェクト: booljin/skynet
static int
lyield(lua_State *L) {
	lua_pushthread(L);

	return timing_yield(L);
}