As part of
6d8b50b748844e9de6010cde5a6b139148c0e937, the settings of
THV_CAPTURE_INJECT_PKT ended up in a location unreachable by capture
methods that did not have PktAcqBreakLoop.
Instead, always call TmThreadsCaptureBreakLoop which handles the logic
for how the read loop should be broken.
This fixes the case where read threads won't "break" for rule reloads
until packets are seen.
Ticket: #6021
if (SC_ATOMIC_GET(new_det_ctx[i]->so_far_used_by_detect) == 1) {
SCLogDebug("new_det_ctx - %p used by detect engine", new_det_ctx[i]);
threads_done++;
- } else if (detect_tvs[i]->break_loop) {
+ } else {
TmThreadsCaptureBreakLoop(detect_tvs[i]);
}
}
static inline void TmThreadsCaptureBreakLoop(ThreadVars *tv)
{
- if (unlikely(!tv->break_loop))
- return;
-
if ((tv->tmm_flags & TM_FLAG_RECEIVE_TM) == 0) {
return;
}