From: Vincent Li Date: Fri, 4 Aug 2023 17:49:35 +0000 (+0000) Subject: flow-bypass: Set bypass thread to running state X-Git-Tag: suricata-8.0.0-beta1~1837 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f80d26db0b62d4a547290a1cf536754f79927a3b;p=thirdparty%2Fsuricata.git flow-bypass: Set bypass thread to running state When running Suricata in XDP bypass mode (bypass: yes), Suricata started up with error: Error: threads: thread "FB" failed to start in time: flags 0003 "FB" thread does not transition from THV_INIT_DONE to THV_RUNNING. Set "FB" thread THV_RUNNING state in BypassedFlowManager(). Bug: #6254 Signed-off-by: Vincent Li --- diff --git a/src/flow-bypass.c b/src/flow-bypass.c index 8dbb5ab17d..10ecf91f49 100644 --- a/src/flow-bypass.c +++ b/src/flow-bypass.c @@ -93,7 +93,14 @@ static TmEcode BypassedFlowManager(ThreadVars *th_v, void *thread_data) if (!found) return TM_ECODE_OK; + TmThreadsSetFlag(th_v, THV_RUNNING); + while (1) { + if (TmThreadsCheckFlag(th_v, THV_PAUSE)) { + TmThreadsSetFlag(th_v, THV_PAUSED); + TmThreadTestThreadUnPaused(th_v); + TmThreadsUnsetFlag(th_v, THV_PAUSED); + } SCLogDebug("Dumping the table"); gettimeofday(&tv, NULL); TIMEVAL_TO_TIMESPEC(&tv, &curtime);