]> git.kaiwu.me - haproxy.git/commit
[MEDIUM] continue layering cleanups.
authorWilly Tarreau <w@1wt.eu>
Wed, 12 Nov 2008 00:51:41 +0000 (01:51 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 12 Nov 2008 00:51:41 +0000 (01:51 +0100)
commit4351b3a4ca01919a648f200ad1a456ac86ec8cfe
treea4f6f625ff8d598076ac599767e9d920e4e7246c
parent1e62de615be9a5b03fbd4414ed4082f86da1ced3
[MEDIUM] continue layering cleanups.

The server sessions are now only decremented when entering SI_ST_CER
and SI_ST_CLO states. A state is clearly missing between EST and CLO,
or after CLO (eg: END), because many cleanups are performed upon CLO
and must rely on tricks to ensure being done only once.

The goal of next changes will be to improve what has been started.
Ideally, the FD should only notify the SI about the change, which
should itself only notify the session when it has some news or when
it needs help (eg: redispatch). The buffer's error processing should
not change the FD's status immediately, otherwise we risk race conds
between a pending connect and a shutw (for instance). Also, the new
connect attempt should only be made after layer 7 and all the crap
above buffers.
src/proto_http.c