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;