]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
threading: remove 'dummy' slot logic
authorVictor Julien <victor@inliniac.net>
Mon, 19 Jan 2015 11:11:22 +0000 (12:11 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 19 Mar 2015 16:52:31 +0000 (17:52 +0100)
Now that delayed detect is not using it anymore, the dummy logic
can be removed.

src/tm-threads.c
src/tm-threads.h

index 1bce7526c9ba5c9b34408bfbb79bfbb5f0722629..343b252e320b727d3d22818869ecab774bf3a1ea 100644 (file)
@@ -110,16 +110,6 @@ void TmThreadsUnsetFlag(ThreadVars *tv, uint16_t flag)
     SC_ATOMIC_AND(tv->flags, ~flag);
 }
 
-/**
- * \brief Function to use as dummy stack function
- *
- * \retval TM_ECODE_OK
- */
-TmEcode TmDummyFunc(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq)
-{
-    return TM_ECODE_OK;
-}
-
 /**
  * \brief Separate run function so we can call it recursively.
  *
@@ -780,90 +770,6 @@ void TmSlotSetFuncAppend(ThreadVars *tv, TmModule *tm, void *data)
     _TmSlotSetFuncAppend(tv, tm, data);
 }
 
-typedef struct TmDummySlot_ {
-    TmSlot *slot;
-    TmEcode (*SlotFunc)(ThreadVars *, Packet *, void *, PacketQueue *,
-                        PacketQueue *);
-    TmEcode (*SlotThreadInit)(ThreadVars *, void *, void **);
-    TAILQ_ENTRY(TmDummySlot_) next;
-} TmDummySlot;
-
-static TAILQ_HEAD(, TmDummySlot_) dummy_slots =
-    TAILQ_HEAD_INITIALIZER(dummy_slots);
-
-/**
- * \brief Appends a new entry to the slots with a delayed option.
- *
- * \param tv   TV the slot is attached to.
- * \param tm   TM to append.
- * \param data Data to be passed on to the slot init function.
- * \param delayed Delayed start of slot if equal to 1
- */
-void TmSlotSetFuncAppendDelayed(ThreadVars *tv, TmModule *tm, void *data,
-                                int delayed)
-{
-    TmSlot *slot = _TmSlotSetFuncAppend(tv, tm, data);
-    TmDummySlot *dslot = NULL;
-
-    if ((slot == NULL) || (delayed == 0)) {
-        return;
-    }
-
-    dslot = SCMalloc(sizeof(TmDummySlot));
-    if (unlikely(dslot == NULL)) {
-        TmSlotFree(slot);
-        return;
-    }
-    memset(dslot, 0, sizeof(*dslot));
-
-    dslot->SlotFunc = SC_ATOMIC_GET(slot->SlotFunc);
-    (void)SC_ATOMIC_SET(slot->SlotFunc, TmDummyFunc);
-    dslot->SlotThreadInit = slot->SlotThreadInit;
-    dslot->slot = slot;
-
-    TAILQ_INSERT_TAIL(&dummy_slots, dslot, next);
-
-    return;
-}
-
-/**
- * \brief Activate slots that have been started in delayed mode
- */
-void TmThreadActivateDummySlot()
-{
-    TmDummySlot *dslot;
-    TmSlot *s;
-    TmEcode r = TM_ECODE_OK;
-
-    TAILQ_FOREACH(dslot, &dummy_slots, next) {
-        void *slot_data = NULL;
-        s = dslot->slot;
-        if (dslot->SlotThreadInit != NULL) {
-            s->SlotThreadInit = dslot->SlotThreadInit;
-            r = s->SlotThreadInit(s->tv, s->slot_initdata, &slot_data);
-            if (r != TM_ECODE_OK) {
-                EngineKill();
-                TmThreadsSetFlag(s->tv, THV_CLOSED | THV_RUNNING_DONE);
-            }
-            (void)SC_ATOMIC_SET(s->slot_data, slot_data);
-        }
-        (void)SC_ATOMIC_CAS(&s->SlotFunc, TmDummyFunc, dslot->SlotFunc);
-    }
-}
-
-/**
- * \brief Deactivate slots that have been started in delayed mode.
- */
-void TmThreadDeActivateDummySlot()
-{
-    TmDummySlot *dslot;
-
-    TAILQ_FOREACH(dslot, &dummy_slots, next) {
-        (void)SC_ATOMIC_CAS(&dslot->slot->SlotFunc, dslot->SlotFunc, TmDummyFunc);
-        dslot->slot->SlotThreadInit = NULL;
-    }
-}
-
 /**
  * \brief Returns the slot holding a TM with the particular tm_id.
  *
index 9ffc9efba8106a53826a3fb1ed6dbd1fe2db5bdf..0c92a4bdb09d4255850ad5ed8854bf1c5ce47588 100644 (file)
@@ -119,9 +119,6 @@ void TmThreadCheckThreadState(void);
 TmEcode TmThreadWaitOnThreadInit(void);
 ThreadVars *TmThreadsGetCallingThread(void);
 
-void TmThreadActivateDummySlot(void);
-void TmThreadDeActivateDummySlot(void);
-
 int TmThreadsCheckFlag(ThreadVars *, uint16_t);
 void TmThreadsSetFlag(ThreadVars *, uint16_t);
 void TmThreadsUnsetFlag(ThreadVars *, uint16_t);