* conn -- owner ---> task <-----+
*/
if (cli_conn->flags & (CO_FL_WAIT_XPRT | CO_FL_EARLY_SSL_HS)) {
+ int timeout;
+ int clt_tmt = p->timeout.client;
+ int hs_tmt = p->timeout.handshake;
+
if (unlikely((sess->task = task_new_here()) == NULL))
goto out_free_sess;
+ /* Handshake timeout as default timeout */
+ timeout = hs_tmt ? hs_tmt : clt_tmt;
sess->task->context = sess;
sess->task->nice = l->bind_conf->nice;
sess->task->process = session_expire_embryonic;
- sess->task->expire = tick_add_ifset(now_ms, p->timeout.client);
+ sess->task->expire = tick_add_ifset(now_ms, timeout);
task_queue(sess->task);
return 1;
}