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://git.ipfire.org/?a=commitdiff_plain;h=ff8d42ea686f33743be274c7e4e78973bba72cc5;p=thirdparty%2Fhaproxy.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 83d0a455f7..d37d2ebf65 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 65ffdaae64..d3cf47dbde 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;