"Test Case","Test","Template","Implemented" "pthread_mutex_init","psxtmmutex01","psxtmtest_init_destroy", "pthread_mutex_destroy","psxtmmutex01","psxtmtest_init_destroy", "pthread_mutex_lock - available","psxtmmutex03","psxtmtest_single", "pthread_mutex_lock - not available, block","psxtmmutex02","psxtmtest_blocking","Yes" "pthread_mutex_trylock - available","psxtmmutex03","psxtmtest_single", "pthread_mutex_trylock - not available","psxtmmutex03","psxtmtest_single", "pthread_mutex_unlock - no threads waiting","psxtmmutex03","psxtmtest_single", "pthread_mutex_unlock - thread waiting, no preempt","psxtmmutex04",, "pthread_mutex_unlock - thread waiting, preempt","psxtmmutex05",, "pthread_mutex_timedlock - available","psxtmmutex03","psxtmtest_single", "pthread_mutex_timedlock - not available, block","psxtmmutex06","psxtmtest_blocking", "pthread_mutex_setprioceiling",,, "pthread_mutex_getprioceiling",,, ,,, "pthread_cond_init",,"psxtmtest_init_destroy", "pthread_cond_destroy",,"psxtmtest_init_destroy", "pthread_cond_signal - no threads waiting",,, "pthread_cond_signal - thread waiting, no preempt",,, "pthread_cond_signal - thread waiting, preempt",,, "pthread_cond_broadcast",,, "pthread_cond_wait - blocks",,, "pthread_cond_timedwait - blocks",,, ,,, "pthread_create - no preempt","psxtmthread01","psxtmtest_single","Yes" "pthread_create - preempt","psxtmthread02","psxtmtest_single", "pthread_join","psxtmthread03",, "pthread_detach",,, "pthread_exit",,, "pthread_self",,, "pthread_equal",,, "pthread_getschedparam",,, "pthread_setschedparam - no thread switch",,, "pthread_setschedparam - lower own priority, preempt",,, "pthread_setschedparam - raise other priority, preempt",,, ,,, "pthread_once",,, ,,, "pthread_key_create",,"psxtmtest_init_destroy", "pthread_setspecific",,, "pthread_getspecific",,, "pthread_key_delete",,"psxtmtest_init_destroy", ,,, "pthread_cancel",,, "pthread_setcancelstate",,, "pthread_setcanceltype",,, "pthread_testcancel",,, "pthread_cleanup_push",,, "pthread_cleanup_pop",,, ,,, "pthread_getcpuclockid",,, ,,, "pthread_barrier_init",,"psxtmtest_init_destroy", "pthread_barrier_destroy",,"psxtmtest_init_destroy", "pthread_barrier_wait",,, ,,, "pthread_spin_init",,"psxtmtest_init_destroy", "pthread_spin_destroy",,"psxtmtest_init_destroy", "pthread_spin_lock - available",,, "pthread_spin_trylock - available",,, "pthread_spin_trylock - not available",,, "pthread_spin_unlock",,, ,,, "pthread_rwlock_init",,"psxtmtest_init_destroy", "pthread_rwlock_destroy",,"psxtmtest_init_destroy", "pthread_rwlock_rdlock - available",,, "pthread_rwlock_rdlock - not available, blocks",,"psxtmtest_blocking", "pthread_rwlock_tryrdlock - available",,, "pthread_rwlock_tryrdlock - not available",,, "pthread_rwlock_timedrdlock - available",,, "pthread_rwlock_timedrdlock - not available, blocks",,"psxtmtest_blocking", "pthread_rwlock_unlock - no threads waiting",,, "pthread_rwlock_unlock - thread waiting, no preempt",,, "pthread_rwlock_unlock - thread waiting, preempt",,, "pthread_rwlock_wrlock - available",,, "pthread_rwlock_wrlock - not available, blocks",,"psxtmtest_blocking", "pthread_rwlock_trywrlock - available",,, "pthread_rwlock_trywrlock - not available",,, "pthread_rwlock_timedwrlock - available",,, "pthread_rwlock_timedwrlock - not available, blocks",,"psxtmtest_blocking",