mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 22:31:28 +02:00
BUG/MINOR: hlua: fix reference leak in core.register_task()
In core.register_task(): we take a reference to the function passed as argument in order to push it in the new coroutine substack. However, once pushed in the substack: the reference is not useful anymore and should be cleared. Currently, this is not the case in hlua_register_task(). Explicitly dropping the reference once the function is pushed to the coroutine's stack to prevent any reference leak (which could contribute to resource shortage) This may be backported to every stable versions. Please note that this commit depends on "MINOR: hlua: add simple hlua reference handling API"
This commit is contained in:
parent
9ee0d04770
commit
be58d6683c
@ -8719,6 +8719,9 @@ static int hlua_register_task(lua_State *L)
|
||||
|
||||
/* Restore the function in the stack. */
|
||||
lua_rawgeti(hlua->T, LUA_REGISTRYINDEX, ref);
|
||||
/* function ref not needed anymore since it was pushed to the substack */
|
||||
hlua_unref(L, ref);
|
||||
|
||||
hlua->nargs = 0;
|
||||
|
||||
/* Schedule task. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user