mirror of
https://github.com/haproxy/haproxy.git
synced 2026-06-08 16:23:24 -04:00
MEDIUM: lua: only allow actions to yield if not in a final call
Actions may yield but must not do it during the final call from a ruleset because it indicates there will be no more opportunity to complete or clean up. This is indicated by ACT_FLAG_FINAL in the action's flags, which must be passed to hlua_resume(). Thanks to this, an action called from a TCP ruleset is properly woken up and possibly finished when the client disconnects.
This commit is contained in:
parent
394586836f
commit
528192d310
1 changed files with 1 additions and 1 deletions
|
|
@ -4549,7 +4549,7 @@ static enum act_return hlua_action(struct act_rule *rule, struct proxy *px,
|
|||
}
|
||||
|
||||
/* Execute the function. */
|
||||
switch (hlua_ctx_resume(&s->hlua, 1)) {
|
||||
switch (hlua_ctx_resume(&s->hlua, !(flags & ACT_FLAG_FINAL))) {
|
||||
/* finished. */
|
||||
case HLUA_E_OK:
|
||||
if (!hlua_check_proto(s, dir))
|
||||
|
|
|
|||
Loading…
Reference in a new issue