mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-14 07:24:32 +00:00
MINOR: stream-int: don't needlessly call si_cs_send() in si_cs_process()
There's a call there to si_cs_send() while we're supposed to come from si_cs_io_cb() which has just done it. But in fact we can also come here as a lower layer callback from ->wake() after a connection is established. Since most of the time we'll end up here with either no data in the buffer or a blocked output, let's simply check if we're already susbcribed to send events before calling si_cs_send().
This commit is contained in:
parent
0dfccb20f5
commit
908d26fd03
@ -568,8 +568,9 @@ static int si_cs_process(struct conn_stream *cs)
|
||||
int wait_room = si->flags & SI_FL_WAIT_ROOM;
|
||||
|
||||
/* If we have data to send, try it now */
|
||||
if (!channel_is_empty(oc) && objt_cs(si->end))
|
||||
si_cs_send(objt_cs(si->end));
|
||||
if (!channel_is_empty(oc) && !(si->wait_event.wait_reason & SUB_CAN_SEND))
|
||||
si_cs_send(cs);
|
||||
|
||||
/* First step, report to the stream-int what was detected at the
|
||||
* connection layer : errors and connection establishment.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user