Lines Matching refs:helper
1273 RwlockKindTestHelper* helper; member
1276 ThreadArg(RwlockKindTestHelper* helper, std::atomic<pid_t>& tid) in ThreadArg()
1277 : helper(helper), tid(tid) { } in ThreadArg()
1322 RwlockKindTestHelper* helper = arg->helper; in WriterThreadFn() local
1323 ASSERT_EQ(0, pthread_rwlock_wrlock(&helper->lock)); in WriterThreadFn()
1324 ASSERT_EQ(0, pthread_rwlock_unlock(&helper->lock)); in WriterThreadFn()
1331 RwlockKindTestHelper* helper = arg->helper; in ReaderThreadFn() local
1332 ASSERT_EQ(0, pthread_rwlock_rdlock(&helper->lock)); in ReaderThreadFn()
1333 ASSERT_EQ(0, pthread_rwlock_unlock(&helper->lock)); in ReaderThreadFn()
1341 RwlockKindTestHelper helper(PTHREAD_RWLOCK_PREFER_READER_NP); in TEST() local
1342 ASSERT_EQ(0, pthread_rwlock_rdlock(&helper.lock)); in TEST()
1346 helper.CreateWriterThread(writer_thread, writer_tid); in TEST()
1351 helper.CreateReaderThread(reader_thread, reader_tid); in TEST()
1354 ASSERT_EQ(0, pthread_rwlock_unlock(&helper.lock)); in TEST()
1363 RwlockKindTestHelper helper(PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP); in TEST() local
1364 ASSERT_EQ(0, pthread_rwlock_rdlock(&helper.lock)); in TEST()
1368 helper.CreateWriterThread(writer_thread, writer_tid); in TEST()
1373 helper.CreateReaderThread(reader_thread, reader_tid); in TEST()
1376 ASSERT_EQ(0, pthread_rwlock_unlock(&helper.lock)); in TEST()
2262 static void thread_fn(MutexWakeupHelper* helper) { in thread_fn() argument
2263 helper->tid = gettid(); in thread_fn()
2264 ASSERT_EQ(LOCK_INITIALIZED, helper->progress); in thread_fn()
2265 helper->progress = LOCK_WAITING; in thread_fn()
2267 ASSERT_EQ(0, pthread_mutex_lock(&helper->m.lock)); in thread_fn()
2268 ASSERT_EQ(LOCK_RELEASED, helper->progress); in thread_fn()
2269 ASSERT_EQ(0, pthread_mutex_unlock(&helper->m.lock)); in thread_fn()
2271 helper->progress = LOCK_ACCESSED; in thread_fn()
2299 MutexWakeupHelper helper(PTHREAD_MUTEX_NORMAL); in TEST() local
2300 helper.test(); in TEST()
2304 MutexWakeupHelper helper(PTHREAD_MUTEX_ERRORCHECK); in TEST() local
2305 helper.test(); in TEST()
2309 MutexWakeupHelper helper(PTHREAD_MUTEX_RECURSIVE); in TEST() local
2310 helper.test(); in TEST()
2347 static void thread_fn(PIMutexWakeupHelper* helper) { in thread_fn() argument
2348 helper->child_tid = gettid(); in thread_fn()
2349 ASSERT_EQ(LOCK_INITIALIZED, helper->progress); in thread_fn()
2352 ASSERT_EQ(0, pthread_mutex_lock(&helper->m.lock)); in thread_fn()
2353 helper->progress = LOCK_CHILD_READY; in thread_fn()
2354 ASSERT_EQ(0, pthread_mutex_lock(&helper->start_thread_m.lock)); in thread_fn()
2356 ASSERT_EQ(0, pthread_mutex_unlock(&helper->start_thread_m.lock)); in thread_fn()
2357 WaitUntilThreadSleep(helper->main_tid); in thread_fn()
2358 ASSERT_EQ(LOCK_WAITING, helper->progress); in thread_fn()
2360 if (helper->protocol == PTHREAD_PRIO_INHERIT) { in thread_fn()
2365 helper->progress = LOCK_RELEASED; in thread_fn()
2366 ASSERT_EQ(0, pthread_mutex_unlock(&helper->m.lock)); in thread_fn()
2400 PIMutexWakeupHelper helper(type, protocol); in TEST() local
2401 helper.test(); in TEST()