mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-14 15:34:35 +00:00
BUG/MINOR: httpclient: end callback in applet release
In case an error provokes the release of the applet, we will never call the end callback of the httpclient. In the case of a lua script, it would mean that the lua task will never be waked up after a yield, letting the lua script stuck forever. Fix the issue by moving the callback from the end of the iohandler to the applet release function. Must be backported in 2.5.
This commit is contained in:
parent
71abad050a
commit
eb0d4c40ac
@ -946,8 +946,6 @@ more:
|
||||
return;
|
||||
|
||||
end:
|
||||
if (hc->ops.res_end)
|
||||
hc->ops.res_end(hc);
|
||||
si_shutw(si);
|
||||
si_shutr(si);
|
||||
return;
|
||||
@ -963,6 +961,8 @@ static void httpclient_applet_release(struct appctx *appctx)
|
||||
* again from the caller */
|
||||
hc->appctx = NULL;
|
||||
|
||||
if (hc->ops.res_end)
|
||||
hc->ops.res_end(hc);
|
||||
|
||||
/* destroy the httpclient when set to autotokill */
|
||||
if (hc->flags & HTTPCLIENT_FA_AUTOKILL) {
|
||||
|
Loading…
Reference in New Issue
Block a user