diff --git a/samgr/adapter/posix/queue_adapter.c b/samgr/adapter/posix/queue_adapter.c old mode 100755 new mode 100644 index 7be92c6a3798239871673a3c8b60993b2af36988..da7f0319479d0f14a33acb55adcde10e8b8018d9 --- a/samgr/adapter/posix/queue_adapter.c +++ b/samgr/adapter/posix/queue_adapter.c @@ -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); }