"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",,"psxtmtest_blocking", "pthread_cond_timedwait - blocks",,"psxtmtest_blocking", ,,, "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 – blocking",,"psxtmtest_blocking", "pthread_barrier_wait – releasing",,, ,,, "pthread_spin_init",,"psxtmtest_init_destroy", "pthread_spin_destroy",,"psxtmtest_init_destroy", "pthread_spin_lock - available",,"psxtmtest_single", "pthread_spin_trylock - available",,"psxtmtest_single", "pthread_spin_trylock - not available",,"psxtmtest_single", "pthread_spin_unlock",,, ,,, "pthread_rwlock_init",,"psxtmtest_init_destroy", "pthread_rwlock_destroy",,"psxtmtest_init_destroy", "pthread_rwlock_rdlock - available",,"psxtmtest_single", "pthread_rwlock_rdlock - not available, blocks",,"psxtmtest_blocking", "pthread_rwlock_tryrdlock - available",,"psxtmtest_single", "pthread_rwlock_tryrdlock - not available",,"psxtmtest_single", "pthread_rwlock_timedrdlock - available",,"psxtmtest_single", "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",,"psxtmtest_single", "pthread_rwlock_wrlock - not available, blocks",,"psxtmtest_blocking", "pthread_rwlock_trywrlock - available",,"psxtmtest_single", "pthread_rwlock_trywrlock - not available",,"psxtmtest_single", "pthread_rwlock_timedwrlock - available",,"psxtmtest_single", "pthread_rwlock_timedwrlock - not available, blocks",,"psxtmtest_blocking", ,,, "mq_open (first open)","psxtmsem02","psxtmtest_init_destroy", "mq_close (close of first)","psxtmsem02","psxtmtest_init_destroy", "mq_open (second open)","psxtmsem03","psxtmtest_init_destroy", "mq_close (close of second)","psxtmsem03","psxtmtest_init_destroy", "mq_unlink",,, "mq_receive – available",,"psxtmtest_single", "mq_receive - not available, block",,"psxtmtest_blocking", "mq_timedreceive - available",,"psxtmtest_single", "mq_timedreceive - not available, blocks",," ", "mq_send - no threads waiting",,"psxtmtest_single", "mq_send - thread waiting, no preempt",,, "mq_send - thread waiting, preempt",,, "mq_timedsend - no threads waiting",,"psxtmtest_single", "mq_timedsend - thread waiting, no preempt",,, "mq_timedsend - thread waiting, preemption",,, "mq_notify ",,"psxtmtest_single", ,,, "sem_init","psxtmsem01","psxtmtest_init_destroy", "sem_destroy","psxtmsem01","psxtmtest_init_destroy", "sem_open (first open)","psxtmsem02","psxtmtest_init_destroy", "sem_close (close of first)","psxtmsem02","psxtmtest_init_destroy", "sem_open (second open)","psxtmsem03","psxtmtest_init_destroy", "sem_close (close of second)","psxtmsem03","psxtmtest_init_destroy", "sem_wait – available",,"psxtmtest_single", "sem_wait - not available, block",,"psxtmtest_blocking", "sem_trywait - available",,"psxtmtest_single", "sem_trywait - not available",,"psxtmtest_single", "sem_post - no threads waiting",,"psxtmtest_single", "sem_post - thread waiting, no preempt",,, "sem_post - thread waiting, preempt",,, "sem_getvalue",,"psxtmtest_single",