mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-03 03:52:38 +00:00
39f7e6d516
Due to the way the stats socket work, it was not possible to maintain the information related to the command entered, so after filling a whole buffer, the request was lost and it was considered that there was nothing to write anymore. The major reason was that some flags were passed directly during the first call to stats_dump_raw() instead of being stored persistently in the session. To definitely fix this problem, flags were added to the stats member of the session structure. A second problem appeared. When the stats were produced, a first call to client_retnclose() was performed, then one or multiple subsequent calls to buffer_write_chunks() were done. But once the stats buffer was full and a reschedule operated, the buffer was flushed, the write flag cleared from the buffer and nothing was done to re-arm it. For this reason, a check was added in the proto_uxst_stats() function in order to re-call the client FSM when data were added by stats_dump_raw(). Finally, the whole unix stats dump FSM was rewritten to avoid all the magics it depended on. It is now simpler and looks more like the HTTP one. |
||
---|---|---|
.. | ||
acl.h | ||
backend.h | ||
buffers.h | ||
capture.h | ||
client.h | ||
fd.h | ||
global.h | ||
hdr_idx.h | ||
httperr.h | ||
log.h | ||
polling.h | ||
proto_http.h | ||
protocols.h | ||
proxy.h | ||
queue.h | ||
server.h | ||
session.h | ||
task.h | ||
template.h |