mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-05 17:33:30 +02:00
BUG/MEDIUM: hlua: Report to SC when output data are blocked on a lua socket
It is a fix similar to the previous one ("BUG/MEDIUM: hlua: Report to SC
when data were consumed on a lua socket"), but for the write side. The
writer must notify the cosocket it needs more space in the request buffer to
produce more data by calling sc_need_room(). Otherwise, there is nothing to
prevent to wake the cosocket applet up again and again.
This patch must be backported as far as 2.8, and maybe to 2.6 too.
This commit is contained in:
@@ -3232,6 +3232,7 @@ hlua_socket_write_yield_return:
|
||||
WILL_LJMP(luaL_error(L, "out of memory"));
|
||||
}
|
||||
xref_unlock(&socket->xref, peer);
|
||||
sc_need_room(sc, channel_recv_max(&s->req) + 1);
|
||||
MAY_LJMP(hlua_yieldk(L, 0, 0, hlua_socket_write_yield, TICK_ETERNITY, 0));
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user