diff options
-rw-r--r-- | cpukit/ChangeLog | 6 | ||||
-rw-r--r-- | cpukit/posix/src/clockgettime.c | 30 | ||||
-rw-r--r-- | cpukit/posix/src/clocksettime.c | 33 | ||||
-rw-r--r-- | cpukit/posix/src/pthreadcreate.c | 3 |
4 files changed, 32 insertions, 40 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 8833090871..e11f2fd03f 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,11 @@ 2008-01-31 Joel Sherrill <joel.sherrill@OARcorp.com> + * posix/src/clockgettime.c, posix/src/clocksettime.c, + Minor modifications to improve testability. + * posix/src/pthreadcreate.c: Add NULL check for thread entry. + +2008-01-31 Joel Sherrill <joel.sherrill@OARcorp.com> + * posix/src/pthreadinitthreads.c: Clean up error paths. 2008-01-31 Joel Sherrill <joel.sherrill@OARcorp.com> diff --git a/cpukit/posix/src/clockgettime.c b/cpukit/posix/src/clockgettime.c index d87503e2cf..d94bd16f98 100644 --- a/cpukit/posix/src/clockgettime.c +++ b/cpukit/posix/src/clockgettime.c @@ -36,32 +36,22 @@ int clock_gettime( if ( !tp ) rtems_set_errno_and_return_minus_one( EINVAL ); - switch ( clock_id ) { - - case CLOCK_REALTIME: - _TOD_Get(tp); - break; - + if ( clock_id == CLOCK_REALTIME ) + _TOD_Get(tp); #ifdef CLOCK_MONOTONIC - case CLOCK_MONOTONIC: - _TOD_Get_uptime(tp); - break; + else if ( clock_id == CLOCK_MONOTONIC ) + _TOD_Get_uptime(tp); #endif - #ifdef _POSIX_CPUTIME - case CLOCK_PROCESS_CPUTIME: - _TOD_Get_uptime(tp); - break; + else if ( clock_id == CLOCK_PROCESS_CPUTIME ) + _TOD_Get_uptime(tp); #endif - #ifdef _POSIX_THREAD_CPUTIME - case CLOCK_THREAD_CPUTIME: - rtems_set_errno_and_return_minus_one( ENOSYS ); - break; + else if ( clock_id == CLOCK_THREAD_CPUTIME ) + rtems_set_errno_and_return_minus_one( ENOSYS ); #endif - default: - rtems_set_errno_and_return_minus_one( EINVAL ); + else + rtems_set_errno_and_return_minus_one( EINVAL ); - } return 0; } diff --git a/cpukit/posix/src/clocksettime.c b/cpukit/posix/src/clocksettime.c index 64cd5c4110..aa3743d9f9 100644 --- a/cpukit/posix/src/clocksettime.c +++ b/cpukit/posix/src/clocksettime.c @@ -36,31 +36,24 @@ int clock_settime( if ( !tp ) rtems_set_errno_and_return_minus_one( EINVAL ); - switch ( clock_id ) { - - case CLOCK_REALTIME: - if ( tp->tv_sec < TOD_SECONDS_1970_THROUGH_1988 ) - rtems_set_errno_and_return_minus_one( EINVAL ); - - _Thread_Disable_dispatch(); - _TOD_Set( tp ); - _Thread_Enable_dispatch(); - break; + if ( clock_id == CLOCK_REALTIME ) { + if ( tp->tv_sec < TOD_SECONDS_1970_THROUGH_1988 ) + rtems_set_errno_and_return_minus_one( EINVAL ); + _Thread_Disable_dispatch(); + _TOD_Set( tp ); + _Thread_Enable_dispatch(); + } #ifdef _POSIX_CPUTIME - case CLOCK_PROCESS_CPUTIME: - rtems_set_errno_and_return_minus_one( ENOSYS ); - break; + else if ( clock_id == CLOCK_PROCESS_CPUTIME ) + rtems_set_errno_and_return_minus_one( ENOSYS ); #endif - #ifdef _POSIX_THREAD_CPUTIME - case CLOCK_THREAD_CPUTIME: - rtems_set_errno_and_return_minus_one( ENOSYS ); - break; + else if ( clock_id == CLOCK_THREAD_CPUTIME ) + rtems_set_errno_and_return_minus_one( ENOSYS ); #endif - default: - rtems_set_errno_and_return_minus_one( EINVAL ); + else + rtems_set_errno_and_return_minus_one( EINVAL ); - } return 0; } diff --git a/cpukit/posix/src/pthreadcreate.c b/cpukit/posix/src/pthreadcreate.c index c239036e1b..e6bd5bc549 100644 --- a/cpukit/posix/src/pthreadcreate.c +++ b/cpukit/posix/src/pthreadcreate.c @@ -44,6 +44,9 @@ int pthread_create( struct sched_param schedparam; Objects_Name name; + if ( !start_routine ) + return EFAULT; + the_attr = (attr) ? attr : &_POSIX_Threads_Default_attributes; if ( !the_attr->is_initialized ) |