This commit is contained in:
Cloud Wu
2022-03-19 07:10:52 +08:00
parent eaba8f969c
commit d1ce950dc1
6 changed files with 37 additions and 21 deletions

View File

@@ -521,14 +521,12 @@ snlua_signal(struct snlua *l, int signal) {
skynet_error(l->ctx, "recv a signal %d", signal);
if (signal == 0) {
if (ATOM_LOAD(&l->trap) == 0) {
int zero = 0;
// only one thread can set trap ( l->trap 0->1 )
if (!ATOM_CAS(&l->trap, zero, 1))
if (!ATOM_CAS(&l->trap, 0, 1))
return;
lua_sethook (l->activeL, signal_hook, LUA_MASKCOUNT, 1);
// finish set ( l->trap 1 -> -1 )
int one = 1;
ATOM_CAS(&l->trap, one, -1);
ATOM_CAS(&l->trap, 1, -1);
}
} else if (signal == 1) {
skynet_error(l->ctx, "Current Memory %.3fK", (float)l->mem / 1024);