From 64c2aa9ae07212c7ef15e5f5e993a7017a719235 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 23 Aug 2010 21:31:27 +0000 Subject: 2010-08-23 Joel Sherrill 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. --- cpukit/posix/src/condtimedwait.c | 25 +++++++++++-------------- cpukit/posix/src/mutextimedlock.c | 14 +++++--------- cpukit/posix/src/prwlocktimedrdlock.c | 14 +++++--------- cpukit/posix/src/prwlocktimedwrlock.c | 14 +++++--------- cpukit/posix/src/semtimedwait.c | 14 +++++--------- 5 files changed, 31 insertions(+), 50 deletions(-) (limited to 'cpukit/posix') 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; -- cgit v1.2.3