Lines Matching refs:mlck

536 	struct mock_lck_mtx_t* mlck = (struct mock_lck_mtx_t*)lck;  in fake_init_lock()  local
538 mlck->f_m = calloc(1, sizeof(fibers_mutex_t)); in fake_init_lock()
539 fibers_mutex_init(mlck->f_m); in fake_init_lock()
541 mlck->pt_m = calloc(1, sizeof(pthread_mutex_t)); in fake_init_lock()
542 int ret = pthread_mutex_init(mlck->pt_m, NULL); in fake_init_lock()
556 struct mock_lck_mtx_t* mlck = (struct mock_lck_mtx_t*)lck; variable
558 fibers_mutex_destroy(mlck->f_m);
559 free(mlck->f_m);
560 mlck->f_m = NULL;
562 int ret = pthread_mutex_destroy(mlck->pt_m);
564 free(mlck->pt_m);
565 mlck->pt_m = NULL;
574 struct mock_lck_mtx_t* mlck = (struct mock_lck_mtx_t*)lock; variable
576 fibers_mutex_lock(mlck->f_m, true);
578 int ret = pthread_mutex_lock(mlck->pt_m);
581 mlck->lck_mtx.owner = ctid;
589 struct mock_lck_mtx_t* mlck = (struct mock_lck_mtx_t*)lock; variable
591 fibers_mutex_lock(mlck->f_m, false); // do not check for disabled preemption if spinlock
593 int ret = pthread_mutex_lock(mlck->pt_m);
596 mlck->lck_mtx.owner = ctid;
604 struct mock_lck_mtx_t* mlck = (struct mock_lck_mtx_t*)lock; variable
607 ret = fibers_mutex_try_lock(mlck->f_m);
609 int ret = pthread_mutex_trylock(mlck->pt_m);
612 mlck->lck_mtx.owner = ctid;
622 struct mock_lck_mtx_t* mlck = (struct mock_lck_mtx_t*)lock; variable
623 mlck->lck_mtx.owner = 0;
625 fibers_mutex_unlock(mlck->f_m);
627 int ret = pthread_mutex_unlock(mlck->pt_m);
658 fake_init_rwlock(struct mock_lck_rw_t *mlck) in fake_init_rwlock() argument
660 mlck->rw = calloc(1, sizeof(fibers_rwlock_t)); in fake_init_rwlock()
661 fibers_rwlock_init(mlck->rw); in fake_init_rwlock()
665 fake_rw_try_lock(struct mock_lck_rw_t *mlck, lck_rw_type_t lck_rw_type) in fake_rw_try_lock() argument
669 lck_rw_lock_count_inc(MOCK_current_thread_fast(), (const void*)mlck); in fake_rw_try_lock()
672 ret = fibers_rwlock_try_rdlock(mlck->rw); in fake_rw_try_lock()
674 ret = fibers_rwlock_try_wrlock(mlck->rw); in fake_rw_try_lock()
676 mlck->lck_rw_owner = MOCK_current_thread_fast()->ctid; in fake_rw_try_lock()
684 lck_rw_lock_count_dec(MOCK_current_thread_fast(), (const void*)mlck); in fake_rw_try_lock()
690 fake_rw_lock_would_yield_exclusive(struct mock_lck_rw_t *mlck, lck_rw_yield_t mode) in fake_rw_lock_would_yield_exclusive() argument
692 fibers_rwlock_assert(mlck->rw, FIBERS_RWLOCK_ASSERT_EXCLUSIVE); in fake_rw_lock_would_yield_exclusive()
698 if (mlck->rw->writer_wait_queue.count > 0) { in fake_rw_lock_would_yield_exclusive()
701 yield = (mlck->rw->reader_wait_queue.count != 0); in fake_rw_lock_would_yield_exclusive()
719 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
720 fake_init_rwlock(mlck);
731 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
732 fibers_rwlock_destroy(mlck->rw);
733 free(mlck->rw);
734 mlck->rw = NULL;
745 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
746 if (mlck->rw->writer_active) {
747 mlck->lck_rw_owner = 0;
749 fibers_rwlock_unlock(mlck->rw);
752 lck_rw_lock_count_dec(MOCK_current_thread_fast(), (const void*)mlck);
763 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; in lck_rw_old_mock_unlock_shared() local
764 fibers_rwlock_rdunlock(mlck->rw); in lck_rw_old_mock_unlock_shared()
767 lck_rw_lock_count_dec(MOCK_current_thread_fast(), (const void*)mlck); in lck_rw_old_mock_unlock_shared()
784 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
785 mlck->lck_rw_owner = 0;
786 fibers_rwlock_wrunlock(mlck->rw);
789 lck_rw_lock_count_dec(MOCK_current_thread_fast(), (const void*)mlck);
803 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
804 fibers_rwlock_wrlock(mlck->rw, true);
805 mlck->lck_rw_owner = MOCK_current_thread_fast()->ctid;
819 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
820 fibers_rwlock_rdlock(mlck->rw, true);
830 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
831 return fake_rw_try_lock(mlck, lck_rw_type);
841 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
842 return fake_rw_try_lock(mlck, LCK_RW_TYPE_EXCLUSIVE);
852 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
853 return fake_rw_try_lock(mlck, LCK_RW_TYPE_SHARED);
863 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
864 mlck->lck_rw_owner = 0;
866 lck_rw_type_t ret = mlck->rw->writer_active ? LCK_RW_TYPE_EXCLUSIVE : LCK_RW_TYPE_SHARED;
867 fibers_rwlock_unlock(mlck->rw);
870 lck_rw_lock_count_dec(MOCK_current_thread_fast(), (const void*)mlck);
887 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
888 return fibers_rwlock_upgrade(mlck->rw);
899 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
900 fibers_rwlock_downgrade(mlck->rw);
913 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
914 fibers_rwlock_assert(mlck->rw, type);
926 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
927 return fake_rw_lock_would_yield_exclusive(mlck, mode);
937 struct mock_lck_rw_t* mlck = (struct mock_lck_rw_t*)lck; variable
938 fibers_rwlock_assert(mlck->rw, FIBERS_RWLOCK_ASSERT_SHARED);
939 return mlck->rw->writer_wait_queue.count != 0;