kore

Kore is a web application platform for writing scalable, concurrent web based processes in C or Python.
Commits | Files | Refs | README | LICENSE | git clone https://git.kore.io/kore.git

commit c55036bfec36273d1b86e45ab24a84e40ceaacd5
parent ff21fd330fde6495dad35859ba1ef3f9afc94fdd
Author: Joris Vink <joris@coders.se>
Date:   Wed, 14 Mar 2018 13:35:47 +0100

Improve client timeout hanlding.

Do not run the idle timer check for client if it still has a request
queued up. Otherwise if the worker process is very busy you might hit
the timeout even though the client sent us a full request which was queued.

Diffstat:
src/connection.c | 2++
1 file changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/connection.c b/src/connection.c @@ -166,6 +166,8 @@ kore_connection_check_timeout(u_int64_t now) continue; if (!(c->flags & CONN_IDLE_TIMER_ACT)) continue; + if (!TAILQ_EMPTY(&c->http_requests)) + continue; kore_connection_check_idletimer(now, c); } }