packet-queue: create alloc and free functions

pull/4531/head
Victor Julien 5 years ago
parent 550cfdd98d
commit efa8a69923

@ -213,3 +213,20 @@ Packet *PacketDequeue (PacketQueue *q)
{ {
return PacketDequeueDo(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);
}

@ -63,5 +63,8 @@ void PacketEnqueue (PacketQueue *, struct Packet_ *);
struct Packet_ *PacketDequeueNoLock (PacketQueueNoLock *qnl); struct Packet_ *PacketDequeueNoLock (PacketQueueNoLock *qnl);
struct Packet_ *PacketDequeue (PacketQueue *); struct Packet_ *PacketDequeue (PacketQueue *);
PacketQueue *PacketQueueAlloc(void);
void PacketQueueFree(PacketQueue *);
#endif /* __PACKET_QUEUE_H__ */ #endif /* __PACKET_QUEUE_H__ */

Loading…
Cancel
Save