예제 #1
0
void
rw_downgrade(krwlock_t *rwlp)
{
    rwlp->rw_owner = NULL;
    lck_rw_lock_exclusive_to_shared((lck_rw_t *)&rwlp->rw_lock[0]);
    atomic_inc_32((volatile uint32_t *)&rwlp->rw_readers);
}
예제 #2
0
파일: spl-rwlock.c 프로젝트: drurowin/spl
void
rw_downgrade(krwlock_t *rwlp)
{
    rwlp->rw_owner = NULL;
    lck_rw_lock_exclusive_to_shared((lck_rw_t *)&rwlp->rw_lock[0]);
    OSIncrementAtomic((volatile SInt32 *)&rwlp->rw_readers);
}
예제 #3
0
void
lock_write_to_read(
	register lock_t	* l)
{
	lck_rw_lock_exclusive_to_shared(l);
}
예제 #4
0
void
lock_write_to_read_EXT(
	lck_rw_t	*lock)
{
	lck_rw_lock_exclusive_to_shared(lock);
}