static void umock_lock_pthreads_release_shared()

in src/umock_lock_factory_pthread.c [38:54]


static void umock_lock_pthreads_release_shared(UMOCK_C_LOCK_HANDLE lock)
{
    if (lock == NULL)
    {
        /* Codes_SRS_UMOCK_LOCK_FACTORY_PTHREAD_01_011: [ If lock is NULL, umock_lock_pthread_release_shared 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_006: [ umock_lock_pthread_release_shared shall release the lock that was acquired in shared mode by calling pthread_rwlock_unlock. ]*/
        if (pthread_rwlock_unlock(&umock_c_lock_pthread->rw_lock) != 0)
        {
            UMOCK_LOG("pthread_rwlock_unlock failed");
        }
    }
}