summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpukit/ChangeLog5
-rw-r--r--cpukit/posix/src/nanosleep.c4
-rw-r--r--cpukit/posix/src/timersettime.c14
3 files changed, 14 insertions, 9 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index d9895c8793..822fb50383 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-22 Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+ * posix/src/nanosleep.c, posix/src/timersettime.c: Removed redundent
+ code and cleaned up error checking code.
+
2010-06-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libcsupport/src/mount.c: Fixed string assignment in mount entry
diff --git a/cpukit/posix/src/nanosleep.c b/cpukit/posix/src/nanosleep.c
index e83f1c8277..5031039c24 100644
--- a/cpukit/posix/src/nanosleep.c
+++ b/cpukit/posix/src/nanosleep.c
@@ -36,8 +36,6 @@ int nanosleep(
{
Watchdog_Interval ticks;
- if ( !_Timespec_Is_valid( rqtp ) )
- rtems_set_errno_and_return_minus_one( EINVAL );
/*
* Return EINVAL if the delay interval is negative.
@@ -45,7 +43,7 @@ int nanosleep(
* NOTE: This behavior is beyond the POSIX specification.
* FSU and GNU/Linux pthreads shares this behavior.
*/
- if ( rqtp->tv_sec < 0 || rqtp->tv_nsec < 0 )
+ if ( !_Timespec_Is_valid( rqtp ) )
rtems_set_errno_and_return_minus_one( EINVAL );
ticks = _Timespec_To_ticks( rqtp );
diff --git a/cpukit/posix/src/timersettime.c b/cpukit/posix/src/timersettime.c
index de81dab694..d618bd391e 100644
--- a/cpukit/posix/src/timersettime.c
+++ b/cpukit/posix/src/timersettime.c
@@ -42,12 +42,14 @@ int timer_settime(
if ( !value )
rtems_set_errno_and_return_minus_one( EINVAL );
- /* First, it verifies if the structure "value" is correct */
- if ( ( value->it_value.tv_nsec >= TOD_NANOSECONDS_PER_SECOND ) ||
- ( value->it_value.tv_nsec < 0 ) ||
- ( value->it_interval.tv_nsec >= TOD_NANOSECONDS_PER_SECOND) ||
- ( value->it_interval.tv_nsec < 0 )) {
- /* The number of nanoseconds is not correct */
+ /*
+ * First, it verifies if the structure "value" is correct
+ * if the number of nanoseconds is not correct return EINVAL
+ */
+ if ( !_Timespec_Is_valid( &(value->it_value) ) ) {
+ rtems_set_errno_and_return_minus_one( EINVAL );
+ }
+ if ( !_Timespec_Is_valid( &(value->it_interval) ) ) {
rtems_set_errno_and_return_minus_one( EINVAL );
}