static void umock_lock_pthreads_acquire_exclusive()

in src/umock_lock_factory_pthread.c [56:72]


static void umock_lock_pthreads_acquire_exclusive(UMOCK_C_LOCK_HANDLE lock)
{
    if (lock == NULL)
    {
        /* Codes_SRS_UMOCK_LOCK_FACTORY_PTHREAD_01_012: [ If lock is NULL, umock_lock_pthread_acquire_exclusive shall return. ]*/
        UMOCK_LOG("Invalid arguments: UMOCK_C_LOCK_HANDLE lock=%p", lock);
    }
    else
    {
        UMOCK_C_LOCK_PTHREAD* umock_c_lock_pthread = (UMOCK_C_LOCK_PTHREAD*)lock;
        /* Codes_SRS_UMOCK_LOCK_FACTORY_PTHREAD_01_007: [ umock_lock_pthread_acquire_exclusive shall acquire the lock in exclusive mode by calling pthread_rwlock_wrlock. ]*/
        if (pthread_rwlock_wrlock(&umock_c_lock_pthread->rw_lock) != 0)
        {
            UMOCK_LOG("pthread_rwlock_rdlock failed");
        }
    }
}