From: Willy Tarreau Date: Sun, 7 Dec 2008 13:37:09 +0000 (+0100) Subject: [MINOR] add an analyser state in struct session X-Git-Tag: v1.3.16-rc1~118 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=ff8d42ea686f33743be274c7e4e78973bba72cc5;p=haproxy.git [MINOR] add an analyser state in struct session It will be very convenient to have an analyser state in the session. It will always be initialized to zero. The analysers can make use of it, but must reset it to zero when they leave. --- diff --git a/include/types/session.h b/include/types/session.h index 83d0a455f..d37d2ebf6 100644 --- a/include/types/session.h +++ b/include/types/session.h @@ -174,6 +174,7 @@ struct session { struct server *prev_srv; /* the server the was running on, after a redispatch, otherwise NULL */ struct pendconn *pend_pos; /* if not NULL, points to the position in the pending queue */ struct http_txn txn; /* current HTTP transaction being processed. Should become a list. */ + int ana_state; /* analyser state, used by analysers, always set to zero between them */ struct { int logwait; /* log fields waiting to be collected : LW_* */ struct timeval accept_date; /* date of the accept() in user date */ diff --git a/src/client.c b/src/client.c index 65ffdaae6..d3cf47dbd 100644 --- a/src/client.c +++ b/src/client.c @@ -171,6 +171,7 @@ int event_accept(int fd) { } s->cli_state = CL_STDATA; + s->ana_state = 0; /* analysers may change it but must reset it upon exit */ s->req = s->rep = NULL; /* will be allocated later */ s->si[0].state = s->si[0].prev_state = SI_ST_EST;