From ca4b2b3f9012847f28b83083140fead0b6716afd Mon Sep 17 00:00:00 2001 From: toddouska Date: Thu, 9 May 2013 11:48:02 -0700 Subject: [PATCH] keep sniffer sessions alive as used, and prevent remove stale from removing active ones --- src/sniffer.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/sniffer.c b/src/sniffer.c index 91470cd35..c69f496c3 100644 --- a/src/sniffer.c +++ b/src/sniffer.c @@ -859,8 +859,9 @@ static word32 SessionHash(IpInfo* ipInfo, TcpInfo* tcpInfo) static SnifferSession* GetSnifferSession(IpInfo* ipInfo, TcpInfo* tcpInfo) { SnifferSession* session; - - word32 row = SessionHash(ipInfo, tcpInfo); + time_t currTime = time(NULL); + word32 row = SessionHash(ipInfo, tcpInfo); + assert(row <= HASH_SIZE); LockMutex(&SessionMutex); @@ -878,7 +879,10 @@ static SnifferSession* GetSnifferSession(IpInfo* ipInfo, TcpInfo* tcpInfo) session = session->next; } - + + if (session) + session->bornOn = currTime; /* keep session alive, remove stale will */ + /* leave alone */ UnLockMutex(&SessionMutex); /* determine side */