Fix a subtle issue where if you never yield in the signal handler
(such that the same runner thread is always being used), the first
set of arguments passed to a Fire invocation will be leaked.
The only way to avoid this is to not make use of the inital invocation
of the runner thread, because there's no way to "clear" the "..." from
the stack of runner thread without handcrafted LVM bytecode.
This comes at a slight performance penalty but only in very narrow
case where you're using a lot of cheap but yielding event handlers.
Fix a subtle issue where if you never yield in the signal handler (such that the same runner thread is always being used), the first set of arguments passed to a Fire invocation will be leaked.
The only way to avoid this is to not make use of the inital invocation of the runner thread, because there's no way to "clear" the "..." from the stack of runner thread without handcrafted LVM bytecode.
This comes at a slight performance penalty but only in very narrow case where you're using a lot of cheap but yielding event handlers.