diff options
author | rpj <rpj> | 1999-09-15 00:56:21 +0000 |
---|---|---|
committer | rpj <rpj> | 1999-09-15 00:56:21 +0000 |
commit | 9031537658e89136c6a5bb959f9b9a4338a5d056 (patch) | |
tree | 0cb7c7695e5ac67fac829f1923a9238eea2f8efb /tests/rwlock1.c | |
parent | ddce48cadf17ad0b75d6c57062106b700a73d738 (diff) |
Sat Sep 10 12:56:13 1999 Ross Johnson <rpj@swan.canberra.edu.au>
The following code for POSIX read/write locks was contributed
by Aurelio Medina.
* implement.h (pthread_rwlock_t_): Add.
* pthread.h (pthread_rwlock_t): Add.
(PTHREAD_RWLOCK_INITIALIZER): Add.
Add rwlock function prototypes.
* rwlock.c: New module.
* pthread.def: Add new rwlock functions.
* private.c (_pthread_processInitialize): initialise
_pthread_rwlock_test_init_lock critical section.
* global.c (_pthread_rwlock_test_init_lock): Add.
* mutex.c (pthread_mutex_destroy): Don't free mutex memory
if mutex is PTHREAD_MUTEX_INITIALIZER and has not been
initialised yet.
tests/ChangeLog
Sep 15 1999 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* rwlock1.c: New test.
* rwlock2.c: New test.
* rwlock3.c: New test.
* rwlock4.c: New test.
Diffstat (limited to 'tests/rwlock1.c')
-rw-r--r-- | tests/rwlock1.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/rwlock1.c b/tests/rwlock1.c new file mode 100644 index 0000000..540ef7a --- /dev/null +++ b/tests/rwlock1.c @@ -0,0 +1,31 @@ +/* + * rwlock1.c + * + * Create a simple rwlock object, lock it, and then unlock it again. + * + * Depends on API functions: + * pthread_rwlock_init() + * pthread_rwlock_lock() + * pthread_rwlock_unlock() + * pthread_rwlock_destroy() + */ + +#include "test.h" + +pthread_rwlock_t rwlock = NULL; + +int +main() +{ + assert(rwlock == NULL); + + assert(pthread_rwlock_init(&rwlock, NULL) == 0); + + assert(rwlock != NULL); + + assert(pthread_rwlock_destroy(&rwlock) == 0); + + assert(rwlock == NULL); + + return 0; +} |