diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-10-21 22:09:44 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-10-21 22:09:44 +0000 |
commit | 8e9a25ac02292bd74e9889800784e55f55fced25 (patch) | |
tree | e7c5cec1ef987a75da7f94e2556455aadda523d7 /testsuites/psxtests/psxrwlock01/psxrwlock01.scn | |
parent | 2010-10-21 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-8e9a25ac02292bd74e9889800784e55f55fced25.tar.bz2 |
2010-10-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* psx05/init.c: Check for correct status returned.
* psxrwlock01/psxrwlock01.scn, psxrwlock01/test.c: Add test code
to exercise path when attempting to lock for reading but there
is at least one writer blocked waiting for access.
Diffstat (limited to 'testsuites/psxtests/psxrwlock01/psxrwlock01.scn')
-rw-r--r-- | testsuites/psxtests/psxrwlock01/psxrwlock01.scn | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/testsuites/psxtests/psxrwlock01/psxrwlock01.scn b/testsuites/psxtests/psxrwlock01/psxrwlock01.scn index 578c5f54c7..fb315f35f2 100644 --- a/testsuites/psxtests/psxrwlock01/psxrwlock01.scn +++ b/testsuites/psxtests/psxrwlock01/psxrwlock01.scn @@ -60,6 +60,7 @@ pthread_rwlock_destroy( &RWLock ) -- EBUSY pthread_rwlock_unlock(RWLock) -- OK ReadThread - pthread_rwlock_rdlock(RWLock) unblocked -- OK ReadThread - pthread_rwlock_rdlock(RWLock) unblocked -- OK + pthread_rwlock_trywrlock(RWLock) -- OK pthread_rwlock_trywrlock(&RWLock) -- EBUSY Init: pthread_create - thread 1 OK @@ -70,16 +71,27 @@ pthread_rwlock_unlock(RWLock) -- OK WriteThread - pthread_rwlock_wrlock(RWLock) unblocked -- OK WriteThread - pthread_rwlock_unlock(RWLock) -- OK WriteThread - pthread_rwlock_wrlock(RWLock) unblocked -- OK +WriteThread - pthread_rwlock_unlock(RWLock) -- OK + +pthread_rwlock_tryrdlock(&RWLock) -- OK +Init: pthread_create - thread reader & writer OK +WriteThread - pthread_rwlock_wrlock(RWLock) blocking -- OK +ReadThread - pthread_rwlock_rdlock(RWLock) blocking -- OK +pthread_rwlock_tryrdlock(&RWLock) -- EBUSY +pthread_rwlock_trywrlock(&RWLock) -- EBUSY +pthread_rwlock_unlock(&RWLock) -- OK +WriteThread - pthread_rwlock_wrlock(RWLock) unblocked -- OK +WriteThread - pthread_rwlock_unlock(RWLock) -- OK +ReadThread - pthread_rwlock_rdlock(RWLock) unblocked -- OK clock_gettime(CLOCK_REALTIME, &abstime) -- OK pthread_rwlock_timedwrlock( &RWLock, &abstime) -- OK -WriteThread - pthread_rwlock_unlock(RWLock) -- OK pthread_rwlock_timedrdlock( &RWLock, &abstime) -- ETIMEDOUT pthread_rwlock_timedrdlock( &RWLock, &abstime) -- ETIMEDOUT pthread_rwlock_timedwrlock( &RWLock, &abstime) -- ETIMEDOUT pthread_rwlock_timedrdlock( &RWLock, &abstime) -- in past -- OK pthread_rwlock_timedwrlock( &RWLock, &abstime) -- in past -- OK pthread_rwlock_destroy( &RWLock ) -- OK -pthread_rwlock_init( &rwlock, NULL ) -- OK
-pthread_rwlock_unlock ( &rwlock ) -- OK
+pthread_rwlock_init( &rwlock, NULL ) -- OK +pthread_rwlock_unlock ( &rwlock ) -- OK pthread_rwlock_unlock ( &rwlock ) -- OK *** END OF POSIX RWLOCK TEST 01 *** |