diff options
Diffstat (limited to 'cpukit/posix/src/prwlocktimedrdlock.c')
-rw-r--r-- | cpukit/posix/src/prwlocktimedrdlock.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/cpukit/posix/src/prwlocktimedrdlock.c b/cpukit/posix/src/prwlocktimedrdlock.c index 623453073e..a9ac13348d 100644 --- a/cpukit/posix/src/prwlocktimedrdlock.c +++ b/cpukit/posix/src/prwlocktimedrdlock.c @@ -50,16 +50,13 @@ int pthread_rwlock_timedrdlock( timeout_status = _TOD_Absolute_timeout_to_ticks( abstime, CLOCK_REALTIME, &ticks ); do_wait = ( timeout_status == TOD_ABSOLUTE_TIMEOUT_IS_IN_FUTURE ); - the_rwlock = _POSIX_RWLock_Get( rwlock, &queue_context ); - - if ( the_rwlock == NULL ) { - return EINVAL; - } + the_rwlock = _POSIX_RWLock_Get( rwlock ); + POSIX_RWLOCK_VALIDATE_OBJECT( the_rwlock ); + _Thread_queue_Context_initialize( &queue_context ); _Thread_queue_Context_set_relative_timeout( &queue_context, ticks ); status = _CORE_RWLock_Seize_for_reading( &the_rwlock->RWLock, - _Thread_Executing, do_wait, &queue_context ); |