modify queue_pop race condition

Signed-off-by: caochao <caochao@huawei.com>
Change-Id: Ib252acd48550d5873a2eb58a8743296b3532ba64
This commit is contained in:
caochao
2022-02-17 10:58:56 +08:00
parent 4bfa80a6b0
commit 801842e17d
-4
View File
@@ -66,10 +66,6 @@ int QUEUE_Pop(MQueueId queueId, void *element, uint8 *pri, int timeout)
LockFreeBlockQueue *queue = (LockFreeBlockQueue *)queueId;
pthread_mutex_lock(&queue->rMutex);
if (LFQUE_Pop(queue->queue, element, pri) == EC_SUCCESS) {
return EC_SUCCESS;
}
while (LFQUE_Pop(queue->queue, element, pri) != EC_SUCCESS) {
pthread_cond_wait(&queue->cond, &queue->rMutex);
}