diff options
Diffstat (limited to 'cpukit/posix')
-rw-r--r-- | cpukit/posix/src/prwlocktimedrdlock.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/cpukit/posix/src/prwlocktimedrdlock.c b/cpukit/posix/src/prwlocktimedrdlock.c index dfd2124bfa..2b55da7294 100644 --- a/cpukit/posix/src/prwlocktimedrdlock.c +++ b/cpukit/posix/src/prwlocktimedrdlock.c @@ -85,17 +85,18 @@ int pthread_rwlock_timedrdlock( ); _Thread_Enable_dispatch(); - if ( !do_wait && - (_Thread_Executing->Wait.return_code == CORE_RWLOCK_UNAVAILABLE) ) { - switch (status) { - case POSIX_ABSOLUTE_TIMEOUT_INVALID: - return EINVAL; - case POSIX_ABSOLUTE_TIMEOUT_IS_IN_PAST: - case POSIX_ABSOLUTE_TIMEOUT_IS_NOW: - return ETIMEDOUT; - case POSIX_ABSOLUTE_TIMEOUT_IS_IN_FUTURE: - break; - } + if ( !do_wait ) { + if ( _Thread_Executing->Wait.return_code == CORE_RWLOCK_UNAVAILABLE ) { + switch (status) { + case POSIX_ABSOLUTE_TIMEOUT_INVALID: + return EINVAL; + case POSIX_ABSOLUTE_TIMEOUT_IS_IN_PAST: + case POSIX_ABSOLUTE_TIMEOUT_IS_NOW: + return ETIMEDOUT; + case POSIX_ABSOLUTE_TIMEOUT_IS_IN_FUTURE: + break; + } + } } return _POSIX_RWLock_Translate_core_RWLock_return_code( |