summaryrefslogtreecommitdiffstats
path: root/cpukit/posix
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2010-08-23 21:31:27 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2010-08-23 21:31:27 +0000
commit64c2aa9ae07212c7ef15e5f5e993a7017a719235 (patch)
treee7361d39e5a459c0e89cfe056c2f93d12b86a7a9 /cpukit/posix
parent2010-08-23 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-64c2aa9ae07212c7ef15e5f5e993a7017a719235.tar.bz2
2010-08-23 Joel Sherrill <joel.sherrill@oarcorp.com>
CID 79/DEADCODE CID 78/DEADCODE CID 77/DEADCODE CID 76/DEADCODE * posix/src/condtimedwait.c, posix/src/mutextimedlock.c, posix/src/prwlocktimedrdlock.c, posix/src/prwlocktimedwrlock.c, posix/src/semtimedwait.c: Resolve various dead code issues identified by Coverity scanner.
Diffstat (limited to 'cpukit/posix')
-rw-r--r--cpukit/posix/src/condtimedwait.c25
-rw-r--r--cpukit/posix/src/mutextimedlock.c14
-rw-r--r--cpukit/posix/src/prwlocktimedrdlock.c14
-rw-r--r--cpukit/posix/src/prwlocktimedwrlock.c14
-rw-r--r--cpukit/posix/src/semtimedwait.c14
5 files changed, 31 insertions, 50 deletions
diff --git a/cpukit/posix/src/condtimedwait.c b/cpukit/posix/src/condtimedwait.c
index aa48131ecd..4134a73f8a 100644
--- a/cpukit/posix/src/condtimedwait.c
+++ b/cpukit/posix/src/condtimedwait.c
@@ -39,8 +39,9 @@ int pthread_cond_timedwait(
const struct timespec *abstime
)
{
- Watchdog_Interval ticks;
- bool already_timedout;
+ Watchdog_Interval ticks;
+ bool already_timedout;
+ POSIX_Absolute_timeout_conversion_results_t status;
/*
* POSIX requires that blocking calls with timeouts that take
@@ -51,18 +52,14 @@ int pthread_cond_timedwait(
* then we do a polling operation and convert the UNSATISFIED
* status into the appropriate error.
*/
- switch ( _POSIX_Absolute_timeout_to_ticks(abstime, &ticks) ) {
- case POSIX_ABSOLUTE_TIMEOUT_INVALID:
- return EINVAL;
- case POSIX_ABSOLUTE_TIMEOUT_IS_IN_PAST:
- case POSIX_ABSOLUTE_TIMEOUT_IS_NOW:
- already_timedout = true;
- break;
- case POSIX_ABSOLUTE_TIMEOUT_IS_IN_FUTURE:
- default: /* only to silence warnings */
- already_timedout = false;
- break;
- }
+ already_timedout = false;
+ status = _POSIX_Absolute_timeout_to_ticks(abstime, &ticks);
+ if ( status == POSIX_ABSOLUTE_TIMEOUT_INVALID )
+ return EINVAL;
+
+ if ( status == POSIX_ABSOLUTE_TIMEOUT_IS_IN_PAST ||
+ status == POSIX_ABSOLUTE_TIMEOUT_IS_NOW )
+ already_timedout = true;
return _POSIX_Condition_variables_Wait_support(
cond,
diff --git a/cpukit/posix/src/mutextimedlock.c b/cpukit/posix/src/mutextimedlock.c
index f1d4dcee08..576eba9eb8 100644
--- a/cpukit/posix/src/mutextimedlock.c
+++ b/cpukit/posix/src/mutextimedlock.c
@@ -72,15 +72,11 @@ int pthread_mutex_timedlock(
* make sure the right reason is returned.
*/
if ( !do_wait && (lock_status == EBUSY) ) {
- switch (lock_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 ( lock_status == POSIX_ABSOLUTE_TIMEOUT_INVALID )
+ return EINVAL;
+ if ( lock_status == POSIX_ABSOLUTE_TIMEOUT_IS_IN_PAST ||
+ lock_status == POSIX_ABSOLUTE_TIMEOUT_IS_NOW )
+ return ETIMEDOUT;
}
return lock_status;
diff --git a/cpukit/posix/src/prwlocktimedrdlock.c b/cpukit/posix/src/prwlocktimedrdlock.c
index 547fa533e5..d6df7815a8 100644
--- a/cpukit/posix/src/prwlocktimedrdlock.c
+++ b/cpukit/posix/src/prwlocktimedrdlock.c
@@ -82,15 +82,11 @@ int pthread_rwlock_timedrdlock(
_Thread_Enable_dispatch();
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;
- }
+ if ( status == POSIX_ABSOLUTE_TIMEOUT_INVALID )
+ return EINVAL;
+ if ( status == POSIX_ABSOLUTE_TIMEOUT_IS_IN_PAST ||
+ status == POSIX_ABSOLUTE_TIMEOUT_IS_NOW )
+ return ETIMEDOUT;
}
}
diff --git a/cpukit/posix/src/prwlocktimedwrlock.c b/cpukit/posix/src/prwlocktimedwrlock.c
index 1571e86f86..d34ee69489 100644
--- a/cpukit/posix/src/prwlocktimedwrlock.c
+++ b/cpukit/posix/src/prwlocktimedwrlock.c
@@ -82,15 +82,11 @@ int pthread_rwlock_timedwrlock(
_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 ( status == POSIX_ABSOLUTE_TIMEOUT_INVALID )
+ return EINVAL;
+ if ( status == POSIX_ABSOLUTE_TIMEOUT_IS_IN_PAST ||
+ status == POSIX_ABSOLUTE_TIMEOUT_IS_NOW )
+ return ETIMEDOUT;
}
return _POSIX_RWLock_Translate_core_RWLock_return_code(
diff --git a/cpukit/posix/src/semtimedwait.c b/cpukit/posix/src/semtimedwait.c
index 8d7a8fd5e5..60faafc242 100644
--- a/cpukit/posix/src/semtimedwait.c
+++ b/cpukit/posix/src/semtimedwait.c
@@ -70,15 +70,11 @@ int sem_timedwait(
* make sure the right reason is returned.
*/
if ( !do_wait && (lock_status == EBUSY) ) {
- switch (lock_status) {
- case POSIX_ABSOLUTE_TIMEOUT_INVALID:
- rtems_set_errno_and_return_minus_one( EINVAL );
- case POSIX_ABSOLUTE_TIMEOUT_IS_IN_PAST:
- case POSIX_ABSOLUTE_TIMEOUT_IS_NOW:
- rtems_set_errno_and_return_minus_one( ETIMEDOUT );
- case POSIX_ABSOLUTE_TIMEOUT_IS_IN_FUTURE:
- break;
- }
+ if ( lock_status == POSIX_ABSOLUTE_TIMEOUT_INVALID )
+ rtems_set_errno_and_return_minus_one( EINVAL );
+ if ( lock_status == POSIX_ABSOLUTE_TIMEOUT_IS_IN_PAST ||
+ lock_status == POSIX_ABSOLUTE_TIMEOUT_IS_NOW )
+ rtems_set_errno_and_return_minus_one( ETIMEDOUT );
}
return lock_status;