diff --git a/src/threadvars.h b/src/threadvars.h index d009ec3465..e7cc9b8351 100644 --- a/src/threadvars.h +++ b/src/threadvars.h @@ -51,7 +51,7 @@ typedef struct ThreadVars_ { char *name; char *thread_group_name; - SC_ATOMIC_DECLARE(unsigned short, flags); + SC_ATOMIC_DECLARE(unsigned char, flags); /** aof(action on failure) determines what should be done with the thread when it encounters certain conditions like failures */ diff --git a/src/tm-threads.c b/src/tm-threads.c index 4d1fe9b7c9..b3231ec0a4 100644 --- a/src/tm-threads.c +++ b/src/tm-threads.c @@ -75,7 +75,7 @@ uint8_t tv_aof = THV_RESTART_THREAD; * \retval 0 flag is not set */ int TmThreadsCheckFlag(ThreadVars *tv, uint8_t flag) { - return (SC_ATOMIC_GET(tv->flags) & flag)? 1 : 0; + return ((SC_ATOMIC_GET(tv->flags) & flag)? 1 : 0); } /** @@ -89,7 +89,7 @@ void TmThreadsSetFlag(ThreadVars *tv, uint8_t flag) { * \brief Unset a thread flag */ void TmThreadsUnsetFlag(ThreadVars *tv, uint8_t flag) { - SC_ATOMIC_NAND(tv->flags, flag); + SC_ATOMIC_AND(tv->flags, ~flag); } /* 1 slot functions */