#ifdef AFLFUZZ_DISABLE_MGTTHREADS
return;
#endif
- ThreadVars *tv = NULL;
-
/* wake up threads */
uint32_t u;
for (u = 0; u < flowmgr_number; u++)
SCMutexLock(&tv_root_lock);
/* flow manager thread(s) is/are a part of mgmt threads */
- tv = tv_root[TVT_MGMT];
- while (tv != NULL)
- {
+ for (ThreadVars *tv = tv_root[TVT_MGMT]; tv != NULL; tv = tv->next) {
if (strncasecmp(tv->name, thread_name_flow_mgr,
strlen(thread_name_flow_mgr)) == 0)
{
TmThreadsSetFlag(tv, THV_KILL);
}
- tv = tv->next;
}
SCMutexUnlock(&tv_root_lock);
}
SCMutexLock(&tv_root_lock);
- tv = tv_root[TVT_MGMT];
- while (tv != NULL)
- {
+ for (ThreadVars *tv = tv_root[TVT_MGMT]; tv != NULL; tv = tv->next) {
if (strncasecmp(tv->name, thread_name_flow_mgr,
strlen(thread_name_flow_mgr)) == 0)
{
goto again;
}
}
- tv = tv->next;
}
SCMutexUnlock(&tv_root_lock);
*
* \retval cnt number of removes out flows
*/
-static uint32_t FlowCleanupHash(void){
- uint32_t idx = 0;
+static uint32_t FlowCleanupHash(void)
+{
uint32_t cnt = 0;
- for (idx = 0; idx < flow_config.hash_size; idx++) {
+ for (uint32_t idx = 0; idx < flow_config.hash_size; idx++) {
FlowBucket *fb = &flow_hash[idx];
FBLOCK_LOCK(fb);
(void)ConfGetInt("flow.managers", &setting);
if (setting < 1 || setting > 1024) {
- SCLogError(SC_ERR_INVALID_ARGUMENTS,
+ FatalError(SC_ERR_INVALID_ARGUMENTS,
"invalid flow.managers setting %"PRIdMAX, setting);
- exit(EXIT_FAILURE);
}
flowmgr_number = (uint32_t)setting;
StatsRegisterGlobalCounter("flow.memuse", FlowGetMemuse);
- uint32_t u;
- for (u = 0; u < flowmgr_number; u++)
- {
- ThreadVars *tv_flowmgr = NULL;
-
+ for (uint32_t u = 0; u < flowmgr_number; u++) {
char name[TM_THREAD_NAME_MAX];
snprintf(name, sizeof(name), "%s#%02u", thread_name_flow_mgr, u+1);
- tv_flowmgr = TmThreadCreateMgmtThreadByName(name,
+ ThreadVars *tv_flowmgr = TmThreadCreateMgmtThreadByName(name,
"FlowManager", 0);
BUG_ON(tv_flowmgr == NULL);
if (tv_flowmgr == NULL) {
- printf("ERROR: TmThreadsCreate failed\n");
- exit(1);
+ FatalError(SC_ERR_FATAL, "flow manager thread creation failed");
}
if (TmThreadSpawn(tv_flowmgr) != TM_ECODE_OK) {
- printf("ERROR: TmThreadSpawn failed\n");
- exit(1);
+ FatalError(SC_ERR_FATAL, "flow manager thread spawn failed");
}
}
return;
(void)ConfGetInt("flow.recyclers", &setting);
if (setting < 1 || setting > 1024) {
- SCLogError(SC_ERR_INVALID_ARGUMENTS,
+ FatalError(SC_ERR_INVALID_ARGUMENTS,
"invalid flow.recyclers setting %"PRIdMAX, setting);
- exit(EXIT_FAILURE);
}
flowrec_number = (uint32_t)setting;
SCCtrlCondInit(&flow_recycler_ctrl_cond, NULL);
SCCtrlMutexInit(&flow_recycler_ctrl_mutex, NULL);
-
- uint32_t u;
- for (u = 0; u < flowrec_number; u++)
- {
- ThreadVars *tv_flowmgr = NULL;
-
+ for (uint32_t u = 0; u < flowrec_number; u++) {
char name[TM_THREAD_NAME_MAX];
snprintf(name, sizeof(name), "%s#%02u", thread_name_flow_rec, u+1);
- tv_flowmgr = TmThreadCreateMgmtThreadByName(name,
+ ThreadVars *tv_flowrec = TmThreadCreateMgmtThreadByName(name,
"FlowRecycler", 0);
- BUG_ON(tv_flowmgr == NULL);
- if (tv_flowmgr == NULL) {
- printf("ERROR: TmThreadsCreate failed\n");
- exit(1);
+ if (tv_flowrec == NULL) {
+ FatalError(SC_ERR_FATAL, "flow recycler thread creation failed");
}
- if (TmThreadSpawn(tv_flowmgr) != TM_ECODE_OK) {
- printf("ERROR: TmThreadSpawn failed\n");
- exit(1);
+ if (TmThreadSpawn(tv_flowrec) != TM_ECODE_OK) {
+ FatalError(SC_ERR_FATAL, "flow recycler thread spawn failed");
}
}
return;
#ifdef AFLFUZZ_DISABLE_MGTTHREADS
return;
#endif
- ThreadVars *tv = NULL;
int cnt = 0;
/* move all flows still in the hash to the recycler queue */
} while (FlowRecyclerReadyToShutdown() == 0);
/* wake up threads */
- uint32_t u;
- for (u = 0; u < flowrec_number; u++)
+ for (uint32_t u = 0; u < flowrec_number; u++) {
SCCtrlCondSignal(&flow_recycler_ctrl_cond);
+ }
SCMutexLock(&tv_root_lock);
/* flow recycler thread(s) is/are a part of mgmt threads */
- tv = tv_root[TVT_MGMT];
- while (tv != NULL)
- {
+ for (ThreadVars *tv = tv_root[TVT_MGMT]; tv != NULL; tv = tv->next) {
if (strncasecmp(tv->name, thread_name_flow_rec,
strlen(thread_name_flow_rec)) == 0)
{
TmThreadsSetFlag(tv, THV_KILL);
cnt++;
}
- tv = tv->next;
}
SCMutexUnlock(&tv_root_lock);
}
SCMutexLock(&tv_root_lock);
- tv = tv_root[TVT_MGMT];
- while (tv != NULL)
- {
+ for (ThreadVars *tv = tv_root[TVT_MGMT]; tv != NULL; tv = tv->next) {
if (strncasecmp(tv->name, thread_name_flow_rec,
strlen(thread_name_flow_rec)) == 0)
{
goto again;
}
}
- tv = tv->next;
}
SCMutexUnlock(&tv_root_lock);
tmm_modules[TMM_FLOWMANAGER].name = "FlowManager";
tmm_modules[TMM_FLOWMANAGER].ThreadInit = FlowManagerThreadInit;
tmm_modules[TMM_FLOWMANAGER].ThreadDeinit = FlowManagerThreadDeinit;
-// tmm_modules[TMM_FLOWMANAGER].RegisterTests = FlowManagerRegisterTests;
tmm_modules[TMM_FLOWMANAGER].Management = FlowManager;
tmm_modules[TMM_FLOWMANAGER].cap_flags = 0;
tmm_modules[TMM_FLOWMANAGER].flags = TM_FLAG_MANAGEMENT_TM;
tmm_modules[TMM_FLOWRECYCLER].name = "FlowRecycler";
tmm_modules[TMM_FLOWRECYCLER].ThreadInit = FlowRecyclerThreadInit;
tmm_modules[TMM_FLOWRECYCLER].ThreadDeinit = FlowRecyclerThreadDeinit;
-// tmm_modules[TMM_FLOWRECYCLER].RegisterTests = FlowRecyclerRegisterTests;
tmm_modules[TMM_FLOWRECYCLER].Management = FlowRecycler;
tmm_modules[TMM_FLOWRECYCLER].cap_flags = 0;
tmm_modules[TMM_FLOWRECYCLER].flags = TM_FLAG_MANAGEMENT_TM;