123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #include "test.h"
- static pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER;
- int pthread_test_rwlock2t()
- {
- struct timespec abstime =
- {
- 0, 0
- };
- struct _timeb currSysTime;
- const long long NANOSEC_PER_MILLISEC = 1000000;
- rwlock = PTHREAD_RWLOCK_INITIALIZER;
- _ftime(&currSysTime);
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
- abstime.tv_sec += 1;
- assert(rwlock == PTHREAD_RWLOCK_INITIALIZER);
- assert(pthread_rwlock_timedrdlock(&rwlock, &abstime) == 0);
- assert(rwlock != PTHREAD_RWLOCK_INITIALIZER);
- assert(rwlock != NULL);
- assert(pthread_rwlock_unlock(&rwlock) == 0);
- assert(pthread_rwlock_destroy(&rwlock) == 0);
- assert(rwlock == NULL);
- return 0;
- }
|