@ -84,10 +84,24 @@ SC_ATOMIC_DECLARE(uint32_t, flowrec_cnt);
SC_ATOMIC_DECLARE ( uint32_t , flowrec_busy ) ;
SC_ATOMIC_DECLARE ( uint32_t , flowrec_busy ) ;
SC_ATOMIC_EXTERN ( unsigned int , flow_flags ) ;
SC_ATOMIC_EXTERN ( unsigned int , flow_flags ) ;
SCCtrlCondT flow_manager_ctrl_cond ;
static SCCtrlCondT flow_manager_ctrl_cond = PTHREAD_COND_INITIALIZER ;
SCCtrlMutex flow_manager_ctrl_mutex ;
static SCCtrlMutex flow_manager_ctrl_mutex = PTHREAD_MUTEX_INITIALIZER ;
SCCtrlCondT flow_recycler_ctrl_cond ;
static SCCtrlCondT flow_recycler_ctrl_cond = PTHREAD_COND_INITIALIZER ;
SCCtrlMutex flow_recycler_ctrl_mutex ;
static SCCtrlMutex flow_recycler_ctrl_mutex = PTHREAD_MUTEX_INITIALIZER ;
void FlowWakeupFlowManagerThread ( void )
{
SCCtrlMutexLock ( & flow_manager_ctrl_mutex ) ;
SCCtrlCondSignal ( & flow_manager_ctrl_cond ) ;
SCCtrlMutexUnlock ( & flow_manager_ctrl_mutex ) ;
}
void FlowWakeupFlowRecyclerThread ( void )
{
SCCtrlMutexLock ( & flow_recycler_ctrl_mutex ) ;
SCCtrlCondSignal ( & flow_recycler_ctrl_cond ) ;
SCCtrlMutexUnlock ( & flow_recycler_ctrl_mutex ) ;
}
void FlowTimeoutsInit ( void )
void FlowTimeoutsInit ( void )
{
{
@ -942,9 +956,6 @@ void FlowManagerThreadSpawn(void)
}
}
flowmgr_number = ( uint32_t ) setting ;
flowmgr_number = ( uint32_t ) setting ;
SCCtrlCondInit ( & flow_manager_ctrl_cond , NULL ) ;
SCCtrlMutexInit ( & flow_manager_ctrl_mutex , NULL ) ;
SCLogConfig ( " using %u flow manager threads " , flowmgr_number ) ;
SCLogConfig ( " using %u flow manager threads " , flowmgr_number ) ;
StatsRegisterGlobalCounter ( " flow.memuse " , FlowGetMemuse ) ;
StatsRegisterGlobalCounter ( " flow.memuse " , FlowGetMemuse ) ;
@ -1148,9 +1159,6 @@ void FlowRecyclerThreadSpawn(void)
}
}
flowrec_number = ( uint32_t ) setting ;
flowrec_number = ( uint32_t ) setting ;
SCCtrlCondInit ( & flow_recycler_ctrl_cond , NULL ) ;
SCCtrlMutexInit ( & flow_recycler_ctrl_mutex , NULL ) ;
SCLogConfig ( " using %u flow recycler threads " , flowrec_number ) ;
SCLogConfig ( " using %u flow recycler threads " , flowrec_number ) ;
for ( uint32_t u = 0 ; u < flowrec_number ; u + + ) {
for ( uint32_t u = 0 ; u < flowrec_number ; u + + ) {