]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
packet-queue: create alloc and free functions
authorVictor Julien <victor@inliniac.net>
Wed, 13 Nov 2019 15:16:15 +0000 (16:16 +0100)
committerVictor Julien <victor@inliniac.net>
Fri, 7 Feb 2020 14:43:10 +0000 (15:43 +0100)
src/packet-queue.c
src/packet-queue.h

index ef4e434cad86b6d0a74bc5d90005f7dd7bb971a7..e9617007c1928335fbd71e695db9a02c92a2347a 100644 (file)
@@ -213,3 +213,20 @@ Packet *PacketDequeue (PacketQueue *q)
 {
     return PacketDequeueDo(q);
 }
+
+PacketQueue *PacketQueueAlloc(void)
+{
+    PacketQueue *pq = SCCalloc(1, sizeof(*pq));
+    if (pq == NULL)
+        return NULL;
+    SCMutexInit(&pq->mutex_q, NULL);
+    SCCondInit(&pq->cond_q, NULL);
+    return pq;
+}
+
+void PacketQueueFree(PacketQueue *pq)
+{
+    SCCondDestroy(&pq->cond_q);
+    SCMutexDestroy(&pq->mutex_q);
+    SCFree(pq);
+}
index 8d11f4a3f49c05e0ef88a9ffe8f1ff9fb0eeb8c5..b61a5a59c82c613fdc8bd8bde89d76f4a7ffe256 100644 (file)
@@ -63,5 +63,8 @@ void PacketEnqueue (PacketQueue *, struct Packet_ *);
 struct Packet_ *PacketDequeueNoLock (PacketQueueNoLock *qnl);
 struct Packet_ *PacketDequeue (PacketQueue *);
 
+PacketQueue *PacketQueueAlloc(void);
+void PacketQueueFree(PacketQueue *);
+
 #endif /* __PACKET_QUEUE_H__ */