mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-26 08:11:21 +02:00
A Read0 event could be ignored by the FCGI multiplexer if it is blocked on a partial record. Instead of handling the event, it remained blocked, waiting for the end of the record. To fix the issue, the same solution than the H2 multiplexer is used. Two flags are introduced. The first one, FCGI_CF_END_REACHED, is used to acknowledge a read0. This flag is set when a read0 was received AND the FCGI multiplexer must handle it. The second one, FCGI_CF_DEM_SHORT_READ, is set when the demux is interrupted on a partial record. A short read and a read0 lead to set the FCGI_CF_END_REACHED flag. With these changes, the FCGI mux should be able to properly handle read0 on partial records. This patch should be backported to all stable versions after a period of observation.