mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-20 21:44:05 +08:00
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.
This commit is contained in:
@@ -1,3 +1,15 @@
|
||||
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.
|
||||
|
||||
2010-08-23 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
CID 99
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user