MINOR: stream-int: make si_sync_recv() simply check ENDP before si_cs_recv()

Instead of checking complex conditions to call si_cs_recv() upon first
call, let's simply use si_rx_endp_ready() now that si_cs_recv() reports
it accurately, and add si_rx_blocked() to cover any blocking situation.
This commit is contained in:
Willy Tarreau 2018-11-16 14:26:11 +01:00
parent dd5621ab80
commit 7f494d0c5e

View File

@ -443,7 +443,7 @@ static inline int si_sync_recv(struct stream_interface *si)
if (si->wait_event.wait_reason & SUB_CAN_RECV)
return 0; // already subscribed
if (si->flags & SI_FL_RXBLK_ROOM && c_size(si_ic(si)))
if (!si_rx_endp_ready(si) || si_rx_blocked(si))
return 0; // already failed
return si_cs_recv(cs);