MCPcopy Create free account
hub / github.com/DFHack/dfhack / lua_sethook

Function lua_sethook

depends/lua/src/ldebug.c:81–92  ·  view source on GitHub ↗

** This function can be called asynchronously (e.g. during a signal). ** Fields 'oldpc', 'basehookcount', and 'hookcount' (set by ** 'resethookcount') are for debug only, and it is no problem if they ** get arbitrary values (causes at most one wrong hook call). 'hookmask' ** is an atomic value. We assume that pointers are atomic too (e.g., gcc ** ensures that for all platforms where it runs). More

Source from the content-addressed store, hash-verified

79** always checked before being called (see 'luaD_hook').
80*/
81LUA_API void lua_sethook (lua_State *L, lua_Hook func, int mask, int count) {
82 if (func == NULL || mask == 0) { /* turn off hooks? */
83 mask = 0;
84 func = NULL;
85 }
86 if (isLua(L->ci))
87 L->oldpc = L->ci->u.l.savedpc;
88 L->hook = func;
89 L->basehookcount = count;
90 resethookcount(L);
91 L->hookmask = cast_byte(mask);
92}
93
94
95LUA_API lua_Hook lua_gethook (lua_State *L) {

Callers 5

interrupt_initFunction · 0.85
InterruptMethod · 0.85
lstopFunction · 0.85
lactionFunction · 0.85
db_sethookFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected