From ec27b9c8303540de6b5a8ebefee114f3cdd436f0 Mon Sep 17 00:00:00 2001 From: rpj Date: Thu, 5 Jul 2001 15:19:22 +0000 Subject: * barrier.c: Remove static initialisation - irrelevent for this object. * pthread.h (PTHREAD_BARRIER_INITIALIZER): Removed. * rwlock.c (pthread_rwlock_wrlock): This routine is not a cancelation point - disable deferred cancelation around call to pthread_cond_wait(). tests/ChangeLog: * spin1.c: New; testing spinlocks. * spin2.c: New; testing spinlocks. * spin3.c: New; testing spinlocks. * spin4.c: New; testing spinlocks. * barrier1.c: New; testing barriers. * barrier2.c: New; testing barriers. * barrier3.c: New; testing barriers. * barrier4.c: New; testing barriers. * GNUmakefile: Add new tests. * Makefile: Add new tests. --- tests/spin1.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/spin1.c (limited to 'tests/spin1.c') diff --git a/tests/spin1.c b/tests/spin1.c new file mode 100644 index 0000000..e9e5731 --- /dev/null +++ b/tests/spin1.c @@ -0,0 +1,31 @@ +/* + * spin1.c + * + * Create a simple spinlock object, lock it, and then unlock it again. + * This is the simplest test of the pthread mutex family that we can do. + * + */ + +#include "test.h" + +pthread_spinlock_t lock = NULL; + +int +main() +{ + assert(lock == NULL); + + assert(pthread_spin_init(&lock, PTHREAD_PROCESS_PRIVATE) == 0); + + assert(lock != NULL); + + assert(pthread_spin_lock(&lock) == 0); + + assert(pthread_spin_unlock(&lock) == 0); + + assert(pthread_spin_destroy(&lock) == 0); + + assert(lock == NULL); + + return 0; +} -- cgit v1.2.3