mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-30 14:31:08 +01:00
The stream interface used to conflate a missing buffer and lack of buffer space into SI_FL_WAIT_ROOM but this causes difficulties as these cannot be checked at the same moment and are not resolved at the same moment either. Now we instead mark the buffer as presumably available using si_rx_buff_rdy() and mark it as unavailable+requested using si_rx_buff_blk(). The call to si_alloc_buf() was moved after si_stop_put(). This makes sure that the SI_FL_RX_WAIT_EP flag is cleared on allocation failure so that the function is called again if the callee fails to do its work.