BUG/MEDIUM: stream_interface: Don't check if the handshake is done.

In si_cs_send(), don't give up and subscribe if the connection is still
waiting for a SSL handshake. We will never be woken up once the handshake is
done if we're using HTTP/2. Instead, directly try to send data. When using
the mux_pt, if the handshake is not done yet, snd_buf() would return 0 and
we will subscribe anyway.
This commit is contained in:
Olivier Houchard 2018-11-29 17:00:38 +01:00 committed by Willy Tarreau
parent d76bd2d40b
commit 3e1f68bcf9

View File

@ -601,13 +601,6 @@ int si_cs_send(struct conn_stream *cs)
if (conn->flags & CO_FL_ERROR || cs->flags & CS_FL_ERROR)
return 1;
if (conn->flags & CO_FL_HANDSHAKE) {
/* a handshake was requested */
/* Schedule ourself to be woken up once the handshake is done */
conn->xprt->subscribe(conn, SUB_CAN_SEND, &si->wait_event);
return 0;
}
/* we might have been called just after an asynchronous shutw */
if (conn->flags & CO_FL_SOCK_WR_SH || oc->flags & CF_SHUTW)
return 1;