diff options
Diffstat (limited to 'winsup/testsuite/winsup.api/pthread/mutex8e.c')
-rw-r--r-- | winsup/testsuite/winsup.api/pthread/mutex8e.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/winsup/testsuite/winsup.api/pthread/mutex8e.c b/winsup/testsuite/winsup.api/pthread/mutex8e.c new file mode 100644 index 000000000..7108b02af --- /dev/null +++ b/winsup/testsuite/winsup.api/pthread/mutex8e.c @@ -0,0 +1,35 @@ +/* + * mutex8e.c + * + * Tests PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP. + * + * Depends on API functions: + * pthread_mutex_lock() + * pthread_mutex_unlock() + */ + +#include "test.h" + +pthread_mutex_t mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP; + +int +main() +{ + assert(mutex == PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP); + + assert(pthread_mutex_lock(&mutex) == 0); + + assert(mutex != PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP); + + assert(mutex != NULL); + + assert(pthread_mutex_lock(&mutex) == EDEADLK); + + assert(pthread_mutex_unlock(&mutex) == 0); + + assert(pthread_mutex_destroy(&mutex) == 0); + + assert(mutex == NULL); + + return 0; +} |