mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-16 16:34:42 +00:00
BUG/MEDIUM: lua: socket timeouts are not applied
Sachin Shetty reported that socket timeouts set in LUA code have no effect. Indeed, connect timeout is never modified and is always set to its default, set to 5 seconds. Currently, this patch will apply the specified timeout value to the connect timeout. For the read and write timeouts, the issue is that the timeout is updated but the expiration dates were not updated. This patch should be backported up to the 1.6 branch.
This commit is contained in:
parent
6aab737835
commit
7bb6345497
@ -2574,10 +2574,19 @@ __LJMP static int hlua_socket_settimeout(struct lua_State *L)
|
||||
si = appctx->owner;
|
||||
s = si_strm(si);
|
||||
|
||||
s->sess->fe->timeout.connect = tmout;
|
||||
s->req.rto = tmout;
|
||||
s->req.wto = tmout;
|
||||
s->res.rto = tmout;
|
||||
s->res.wto = tmout;
|
||||
s->req.rex = tick_add_ifset(now_ms, tmout);
|
||||
s->req.wex = tick_add_ifset(now_ms, tmout);
|
||||
s->res.rex = tick_add_ifset(now_ms, tmout);
|
||||
s->res.wex = tick_add_ifset(now_ms, tmout);
|
||||
|
||||
s->task->expire = tick_add_ifset(now_ms, tmout);
|
||||
task_queue(s->task);
|
||||
|
||||
xref_unlock(&socket->xref, peer);
|
||||
|
||||
lua_pushinteger(L, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user