BUG/MEDIUM: stream_interface: Make sure we call si_cs_process() if CS_FL_EOI.
In si_cs_recv(), if we got the CS_FL_EOI flag on the conn_stream, make sure
we return 1, so that si_cs_process() will be called, and wake
process_stream() up, otherwise if we're unlucky the flag will never be
noticed, and the stream won't be woken up.
diff --git a/src/stream_interface.c b/src/stream_interface.c
index 5a85b3b..b5c3247 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -1480,7 +1480,7 @@
si_rx_endp_more(si);
}
- return (cur_read != 0) || si_rx_blocked(si);
+ return (cur_read != 0) || si_rx_blocked(si) || (cs->flags & CS_FL_EOI);
out_shutdown_r:
if (conn->flags & CO_FL_CONNECTED) {