modify lock race condition

Signed-off-by: caochao <caochao@huawei.com>
Change-Id: Id88cab569dc0850f9e3cd1c300b213bc0325d384
This commit is contained in:
caochao
2022-02-17 09:26:34 +08:00
parent 7d36b5ac9b
commit 4bfa80a6b0
+1 -1
View File
@@ -65,11 +65,11 @@ 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;
}
pthread_mutex_lock(&queue->rMutex);
while (LFQUE_Pop(queue->queue, element, pri) != EC_SUCCESS) {
pthread_cond_wait(&queue->cond, &queue->rMutex);
}