From: Victor Julien Date: Wed, 13 Nov 2019 15:16:15 +0000 (+0100) Subject: packet-queue: create alloc and free functions X-Git-Tag: suricata-6.0.0-beta1~781 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=efa8a699238560b4ec57124513dfe56a64fc9626;p=thirdparty%2Fsuricata.git packet-queue: create alloc and free functions --- diff --git a/src/packet-queue.c b/src/packet-queue.c index ef4e434cad..e9617007c1 100644 --- a/src/packet-queue.c +++ b/src/packet-queue.c @@ -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); +} diff --git a/src/packet-queue.h b/src/packet-queue.h index 8d11f4a3f4..b61a5a59c8 100644 --- a/src/packet-queue.h +++ b/src/packet-queue.h @@ -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__ */