From ff8d42ea686f33743be274c7e4e78973bba72cc5 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 7 Dec 2008 14:37:09 +0100 Subject: [PATCH] [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. --- include/types/session.h | 1 + src/client.c | 1 + 2 files changed, 2 insertions(+) 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;