mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-15 21:59:41 -04:00
This function replaces stream_res_available(), which is used as a callback for the buffer allocator. It now carefully checks which stream interface was blocked on a buffer allocation, tries to allocate the input buffer to this stream interface, and wakes the task up once such a buffer was found. It will automatically remove the SI_FL_WAIT_ROOM flag upon success since the info this flag indicates becomes wrong as soon as the buffer is allocated. The code is still far from being perfect because if a call to si_cs_recv() fails to allocate a buffer, we'll still end up passing via process_stream() again, but this could be improved in the future by using finer-grained wake-up notifications. |
||
|---|---|---|
| .. | ||
| common | ||
| import | ||
| proto | ||
| types | ||