]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MAJOR: connection: remove the CO_FL_CURR_*_POL flag
authorWilly Tarreau <w@1wt.eu>
Mon, 5 Nov 2012 16:52:26 +0000 (17:52 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 9 Nov 2012 21:09:33 +0000 (22:09 +0100)
commitc8dd77fddfbcbe2680fdcf23162f0ddf8ad61449
tree16aa34c25a171b877c5013772813c4d8d20ff0ce
parent815f5ecffa3acfe87eb4e62c085ca49b4057fe5b
MAJOR: connection: remove the CO_FL_CURR_*_POL flag

This is the first step of a series of changes aiming at making the
polling totally event-driven. This first change consists in only
remembering at the connection level whether an FD was enabled or not,
regardless of the fact it was being polled or cached. From now on, an
EAGAIN will always be considered as a change so that the pollers are
able to manage a cache and to flush it based on such events. One of
the noticeable effect is that conn_fd_handler() is called once more
per session (6 instead of 5 min) but other update functions are less
called.

Note that the performance loss caused by this change at the moment is
quite significant, around 2.5%, but the change is needed to have SSL
working correctly in all situations, even when data were read from the
socket and stored in the invisible cache, waiting for some room in the
channel's buffer.
include/proto/connection.h
include/types/connection.h
src/connection.c