From ad02732907c78b2afb3bfc12a89a04c883eda7e7 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Sat, 17 Apr 2010 16:39:41 +0200 Subject: [PATCH] Properly cleanup stream engine spinlocks and mutexes at shutdown. Fixes drd errors in unittests. --- src/stream-tcp-reassemble.c | 5 ++++- src/stream-tcp.c | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/stream-tcp-reassemble.c b/src/stream-tcp-reassemble.c index e335ac8ec5..7dd48d21db 100644 --- a/src/stream-tcp-reassemble.c +++ b/src/stream-tcp-reassemble.c @@ -191,13 +191,16 @@ void StreamTcpReassembleFree(char quiet) SCMutexDestroy(&segment_pool_mutex[u16]); } + StreamMsgQueuesDeinit(quiet); + #ifdef DEBUG SCLogDebug("segment_pool_cnt %"PRIu64"", segment_pool_cnt); SCLogDebug("segment_pool_memuse %"PRIu64"", segment_pool_memuse); SCLogDebug("segment_pool_memcnt %"PRIu64"", segment_pool_memcnt); + SCMutexDestroy(&segment_pool_memuse_mutex); #endif - StreamMsgQueuesDeinit(quiet); + SCMutexDestroy(&segment_pool_cnt_mutex); } TcpReassemblyThreadCtx *StreamTcpReassembleInitThreadCtx(void) diff --git a/src/stream-tcp.c b/src/stream-tcp.c index f0f229d2e8..ac4aa3ce11 100644 --- a/src/stream-tcp.c +++ b/src/stream-tcp.c @@ -348,6 +348,8 @@ void StreamTcpFreeConfig(char quiet) stream_memuse_max, stream_memuse); } SCMutexDestroy(&ssn_pool_mutex); + + SCSpinDestroy(&stream_memuse_spinlock); } /** \brief The function is used to to fetch a TCP session from the