]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
threading/queues: simplify error handling
authorVictor Julien <victor@inliniac.net>
Wed, 13 Nov 2019 18:50:48 +0000 (19:50 +0100)
committerVictor Julien <victor@inliniac.net>
Fri, 7 Feb 2020 14:43:10 +0000 (15:43 +0100)
src/tm-queues.c

index 78d1a6d9e9c2928f597720aa79b5c31cf08a095f..6c745bc275b9c3b4c7c264d0c6f07c824309ae6d 100644 (file)
@@ -36,27 +36,24 @@ Tmq *TmqCreateQueue(const char *name)
 {
     Tmq *q = SCCalloc(1, sizeof(*q));
     if (q == NULL)
-        goto error;
+        FatalError(SC_ERR_MEM_ALLOC, "SCCalloc failed");
 
     q->name = SCStrdup(name);
     if (q->name == NULL)
-        goto error;
+        FatalError(SC_ERR_MEM_ALLOC, "SCStrdup failed");
 
     q->id = tmq_id++;
     q->is_packet_pool = (strcmp(q->name, "packetpool") == 0);
-
-    q->pq = PacketQueueAlloc();
-    if (q->pq == NULL)
-        goto error;
+    if (!q->is_packet_pool) {
+        q->pq = PacketQueueAlloc();
+        if (q->pq == NULL)
+            FatalError(SC_ERR_MEM_ALLOC, "PacketQueueAlloc failed");
+    }
 
     TAILQ_INSERT_HEAD(&tmq_list, q, next);
 
     SCLogDebug("created queue \'%s\', %p", name, q);
     return q;
-
-error:
-    SCLogError(SC_ERR_THREAD_QUEUE, "thread queue setup failed for '%s'", name);
-    return NULL;
 }
 
 Tmq *TmqGetQueueByName(const char *name)