// Delete all the packets from the packet queue void NeoClearPacketQueue(bool no_lock) { // Release the memory of the packet queue if (no_lock == false) { NeoLock(ctx->PacketQueueLock); } if (true) { NEO_QUEUE *q = ctx->PacketQueue; NEO_QUEUE *qn; while (q != NULL) { qn = q->Next; NeoFree(q->Buf); NeoFree(q); q = qn; } ctx->PacketQueue = NULL; ctx->Tail = NULL; ctx->NumPacketQueue = 0; } if (no_lock == false) { NeoUnlock(ctx->PacketQueueLock); } }
// Delete all the packets from the packet queue void NeoClearPacketQueue() { // Release the memory of the packet queue NeoLock(ctx->PacketQueueLock); { NEO_QUEUE *q = ctx->PacketQueue; NEO_QUEUE *qn; while (q != NULL) { qn = q->Next; NeoFree(q->Buf); NeoFree(q); q = qn; } ctx->PacketQueue = NULL; ctx->Tail = NULL; ctx->NumPacketQueue = 0; } NeoUnlock(ctx->PacketQueueLock); }
// Unlock the packet queue void NeoUnlockPacketQueue() { NeoUnlock(ctx->PacketQueueLock); }