Make all access to memory tracking counters in stream engine lock protected

remotes/origin/master-1.1.x
Gerardo Iglesias Galvan 15 years ago committed by Victor Julien
parent 36290297dc
commit dd5e438d6f

@ -278,9 +278,11 @@ int StreamTcpReassembleInit(char quiet)
StreamMsgQueuesInit();
/* init the memcap and it's lock */
SCSpinInit(&stream_reassembly_memuse_spinlock, PTHREAD_PROCESS_PRIVATE);
SCSpinLock(&stream_reassembly_memuse_spinlock);
stream_reassembly_memuse = 0;
stream_reassembly_memuse_max = 0;
SCSpinInit(&stream_reassembly_memuse_spinlock, PTHREAD_PROCESS_PRIVATE);
SCSpinUnlock(&stream_reassembly_memuse_spinlock);
#ifdef DEBUG
SCMutexInit(&segment_pool_memuse_mutex, NULL);
@ -345,9 +347,11 @@ void StreamTcpReassembleFree(char quiet)
StreamMsgQueuesDeinit(quiet);
if (!quiet) {
SCSpinLock(&stream_reassembly_memuse_spinlock);
SCLogInfo("Max memuse of the stream reassembly engine %"PRIu32" (in use"
" %"PRIu32")", stream_reassembly_memuse_max,
stream_reassembly_memuse);
SCSpinUnlock(&stream_reassembly_memuse_spinlock);
}
SCSpinDestroy(&stream_reassembly_memuse_spinlock);

@ -462,9 +462,11 @@ void StreamTcpInitConfig(char quiet)
}
/* init the memcap and it's lock */
SCSpinInit(&stream_memuse_spinlock, PTHREAD_PROCESS_PRIVATE);
SCSpinLock(&stream_memuse_spinlock);
stream_memuse = 0;
stream_memuse_max = 0;
SCSpinInit(&stream_memuse_spinlock, PTHREAD_PROCESS_PRIVATE);
SCSpinUnlock(&stream_memuse_spinlock);
ssn_pool = PoolInit(stream_config.max_sessions,
stream_config.prealloc_sessions,
@ -499,8 +501,10 @@ void StreamTcpFreeConfig(char quiet)
SCLogDebug("ssn_pool_cnt %"PRIu64"", ssn_pool_cnt);
if (!quiet) {
SCSpinLock(&stream_memuse_spinlock);
SCLogInfo("Max memuse of stream engine %"PRIu32" (in use %"PRIu32")",
stream_memuse_max, stream_memuse);
SCSpinUnlock(&stream_memuse_spinlock);
}
SCMutexDestroy(&ssn_pool_mutex);

Loading…
Cancel
Save