"Test Case","Test","Template","Implemented" "pthread_mutex_init","psxtmmutex01","psxtmtest_init_destroy","Yes" "pthread_mutex_destroy","psxtmmutex01","psxtmtest_init_destroy","Yes" "pthread_mutex_lock - not available, block","psxtmmutex02","psxtmtest_blocking","Yes" "pthread_mutex_lock - available","psxtmmutex03","psxtmtest_single","Yes" "pthread_mutex_trylock - available","psxtmmutex03","psxtmtest_single","Yes" "pthread_mutex_trylock - not available","psxtmmutex03","psxtmtest_single","Yes" "pthread_mutex_unlock - no threads waiting","psxtmmutex03","psxtmtest_single","Yes" "pthread_mutex_unlock - thread waiting, no preempt","psxtmmutex05","psxtmtest_unblocking_nopreempt","Yes" "pthread_mutex_unlock - thread waiting, preempt","psxtmmutex06","psxtmtest_unblocking_preempt","Yes" "pthread_mutex_timedlock - available","psxtmmutex03","psxtmtest_single","Yes" "pthread_mutex_timedlock - not available, block","psxtmmutex04","psxtmtest_blocking","Yes" "pthread_mutex_setprioceiling","psxtmmutex07","psxtmtest_single","Yes" "pthread_mutex_getprioceiling","psxtmmutex07","psxtmtest_single","Yes" ,,, "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 ヨ no threads waiting",,, "pthread_cond_broadcast ヨ threads waiting, no preempt",,, "pthread_cond_broadcast ヨ threads waiting, preempt",,, "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",,, "pthread_detach",,, "pthread_exit",,, "pthread_self","psxtmthread03","psxtmtest_single w/multiple timings", "pthread_equal","psxtmthread03","psxtmtest_single w/multiple timings", "pthread_getschedparam","psxtmthread04","psxtmtest_single w/multiple timings", "pthread_setschedparam - no thread switch","psxtmthread04","psxtmtest_single w/multiple timings", "pthread_setschedparam - lower own priority, preempt","psxtmthread05","psxtmtest_single", "pthread_setschedparam - raise other priority, preempt","psxtmthread06","psxtmtest_single", ,,, "pthread_once",,, ,,, "pthread_key_create","psxtmkey01","psxtmtest_single","Yes" "pthread_setspecific","psxtmkey02","psxtmtest_single","Yes" "pthread_getspecific","psxtmkey02","psxtmtest_single","Yes" "pthread_key_delete","psxtmkey01","psxtmtest_single","Yes" ,,, "pthread_cancel",,, "pthread_setcancelstate",,, "pthread_setcanceltype",,, "pthread_testcancel",,, "pthread_cleanup_push",,, "pthread_cleanup_pop",,, ,,, "pthread_getcpuclockid",,, ,,, "pthread_barrier_init","psxtmbarrier01","psxtmtest_init_destroy","Yes" "pthread_barrier_destroy","psxtmbarrier01","psxtmtest_init_destroy","Yes" "pthread_barrier_wait - blocking","psxtmbarrier02","psxtmtest_blocking","Yes" "pthread_barrier_wait - releasing, no preempt","psxtmbarrier03","psxtmtest_unblocking_nopreempt","Yes" "pthread_barrier_wait - releasing, preempt","psxtmbarrier04","psxtmtest_unblocking_preempt", ,,, "pthread_spin_init","psxspin01","psxtmtest_init_destroy", "pthread_spin_destroy","psxspin01","psxtmtest_init_destroy", "pthread_spin_lock - available","psxspin02","psxtmtest_single w/multiple timings", "pthread_spin_trylock - available","psxspin02","psxtmtest_single w/multiple timings", "pthread_spin_trylock - not available","psxspin02","psxtmtest_single w/multiple timings", "pthread_spin_unlock","psxspin02","psxtmtest_single w/multiple timings", ,,, "pthread_rwlock_init","psxtmrwlock01","psxtmtest_init_destroy","Yes" "pthread_rwlock_destroy","psxtmrwlock01","psxtmtest_init_destroy","Yes" "pthread_rwlock_rdlock - available","psxtmrwlock01","psxtmtest_single","Yes" "pthread_rwlock_rdlock - not available, blocks","psxtmrwlock02","psxtmtest_blocking","Yes" "pthread_rwlock_tryrdlock - available","psxtmrwlock01","psxtmtest_single","Yes" "pthread_rwlock_tryrdlock - not available","psxtmrwlock01","psxtmtest_single","Yes" "pthread_rwlock_timedrdlock - available","psxtmrwlock01","psxtmtest_single","Yes" "pthread_rwlock_timedrdlock - not available, blocks","psxtmrwlock03","psxtmtest_blocking","Yes" "pthread_rwlock_unlock - no threads waiting","psxtmrwlock01","psxtmtest_single","Yes" "pthread_rwlock_unlock - thread waiting, no preempt","psxtmrwlock06",,"Yes" "pthread_rwlock_unlock - thread waiting, preempt","psxtmrwlock07",,"Yes" "pthread_rwlock_wrlock - available","psxtmrwlock01","psxtmtest_single","Yes" "pthread_rwlock_wrlock - not available, blocks","psxtmwrlock04","psxtmtest_blocking","Yes" "pthread_rwlock_trywrlock - available","psxtmrwlock01","psxtmtest_single","Yes" "pthread_rwlock_trywrlock - not available","psxtmrwlock01","psxtmtest_single","Yes" "pthread_rwlock_timedwrlock - available","psxtmrwlock01","psxtmtest_single","Yes" "pthread_rwlock_timedwrlock - not available, blocks","psxtmrwlock05","psxtmtest_blocking","Yes" ,,, "mq_open (first open)","psxtmmq01","psxtmtest_init_destroy","Yes" "mq_close (close of first)","psxtmmq01","psxtmtest_init_destroy","Yes" "mq_open (second open)","psxtmmq01","psxtmtest_init_destroy","Yes" "mq_close (close of second)","psxtmmq01","psxtmtest_init_destroy","Yes" "mq_unlink","psxtmmq01","psxtmtest_init_destroy","Yes" "mq_receive - available",,"psxtmtest_single","Yes" "mq_receive - not available, block",,"psxtmtest_blocking", "mq_timedreceive - available",,"psxtmtest_single","Yes" "mq_timedreceive - not available, blocks",,"psxtmtest_single", "mq_send - no threads waiting",,"psxtmtest_single","Yes" "mq_send - thread waiting, no preempt",,"psxtmtest_unblocking_nopreempt", "mq_send - thread waiting, preempt",,"psxtmtest_unblocking_preempt", "mq_timedsend - no threads waiting",,"psxtmtest_single","Yes" "mq_timedsend - thread waiting, no preempt",,"psxtmtest_unblocking_nopreempt", "mq_timedsend - thread waiting, preemption",,"psxtmtest_unblocking_preempt", "mq_notify ",,"psxtmtest_single","Yes" ,,, "sem_init","psxtmsem01","psxtmtest_single","Yes" "sem_destroy","psxtmsem01","psxtmtest_single","Yes" "sem_open (first open named)","psxtmsem01","psxtmtest_single","Yes" "sem_open (second open named)","psxtmsem01","psxtmtest_single","Yes" "sem_close (named first/nested close)","psxtmsem01","psxtmtest_single","Yes" "sem_unlink (does not delete)","psxtmsem01","psxtmtest_single","Yes" "sem_close (named second close - removes)","psxtmsem01","psxtmtest_single","Yes" "sem_unlink (deletes)","psxtmsem01","psxtmtest_single","Yes" "sem_wait - available","psxtmsem02","psxtmtest_single","Yes" "sem_wait - not available, block","psxtmsem03","psxtmtest_blocking","Yes" "sem_trywait - available","psxtmsem02","psxtmtest_single","Yes" "sem_trywait - not available","psxtmsem02","psxtmtest_single","Yes" "sem_post - no threads waiting","psxtmsem02","psxtmtest_single","Yes" "sem_post - thread waiting, no preempt","psxsemtm04","psxtmtest_unblocking_nopreempt","Yes" "sem_post - thread waiting, preempt","psxtmsem05","psxtmtest_unblocking_preempt","Yes" "sem_getvalue","psxtmsem02","psxtmtest_single","Yes" ,,, "sleep - yield","psxtmsleep01","psxtmtest_single","Yes" "sleep - blocking","psxtmsleep02","psxtmtest_blocking","Yes" "nanosleep - yield","psxtmnanosleep01","psxtmtest_single","Yes" "nanosleep - blocking","psxtmnanosleep02","psxtmtest_blocking","Yes"