From a8744086b476e4007c1d8fc0fae84ecfcade99ba Mon Sep 17 00:00:00 2001 From: rpj Date: Thu, 31 May 2001 02:05:25 +0000 Subject: New test. --- tests/mutex1n.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/mutex1n.c (limited to 'tests/mutex1n.c') diff --git a/tests/mutex1n.c b/tests/mutex1n.c new file mode 100644 index 0000000..9af3d5f --- /dev/null +++ b/tests/mutex1n.c @@ -0,0 +1,42 @@ +/* + * mutex1n.c + * + * As for mutex1.c but with type set to PTHREAD_MUTEX_NORMAL. + * + * Create a simple mutex object, lock it, unlock it, then destroy it. + * This is the simplest test of the pthread mutex family that we can do. + * + * Depends on API functions: + * pthread_mutexattr_settype() + * pthread_mutex_init() + * pthread_mutex_destroy() + */ + +#include "test.h" + +pthread_mutex_t mutex = NULL; +pthread_mutexattr_t mxAttr; + +int +main() +{ + assert(pthread_mutexattr_init(&mxAttr) == 0); + + assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_NORMAL) == 0); + + assert(mutex == NULL); + + assert(pthread_mutex_init(&mutex, &mxAttr) == 0); + + assert(mutex != NULL); + + assert(pthread_mutex_lock(&mutex) == 0); + + assert(pthread_mutex_unlock(&mutex) == 0); + + assert(pthread_mutex_destroy(&mutex) == 0); + + assert(mutex == NULL); + + return 0; +} -- cgit v1.2.3