From 956b8e5047e8736257df80bbb39648b9872ecdbf Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 20 May 2016 11:53:41 +0200 Subject: mpci: Simplify _Objects_MP_Is_remote() --- cpukit/score/include/rtems/score/objectmp.h | 20 ++++++++++---------- cpukit/score/include/rtems/score/threadmp.h | 2 +- cpukit/score/src/objectgetisr.c | 8 +++++--- cpukit/score/src/objectmp.c | 12 ++++-------- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/cpukit/score/include/rtems/score/objectmp.h b/cpukit/score/include/rtems/score/objectmp.h index 4f73012a04..5c9f4f74e3 100644 --- a/cpukit/score/include/rtems/score/objectmp.h +++ b/cpukit/score/include/rtems/score/objectmp.h @@ -144,19 +144,19 @@ Objects_Name_or_id_lookup_errors _Objects_MP_Global_name_search ( ); /** - * @brief Searches the Global Object Table managed - * by information for the object indicated by ID. + * @brief Returns true, if the object identifier is in the global object + * identifier cache of the specified object information, otherwise false. * - * @param[in] information points to the object information table for this - * object class. - * @param[in] the_id is the Id of the object being opened. + * @param id The object identifier. + * @param information The object information. * - * @retval OBJECTS_REMOTE A remote objects with this object identifier exits. - * @retval OBJECTS_ERROR Otherwise. + * @retval true A remote objects with this object identifier exits in the + * global object identifier cache of the specified information. + * @retval false Otherwise. */ -Objects_Locations _Objects_MP_Is_remote( - Objects_Information *information, - Objects_Id the_id +bool _Objects_MP_Is_remote( + Objects_Id id, + const Objects_Information *information ); /** diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h index 46add28c13..9cde35b649 100644 --- a/cpukit/score/include/rtems/score/threadmp.h +++ b/cpukit/score/include/rtems/score/threadmp.h @@ -100,7 +100,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_MP_Is_remote( Objects_Id id ) return false; } - return _Objects_MP_Is_remote( information, id ) == OBJECTS_REMOTE; + return _Objects_MP_Is_remote( id, information ); } /**@}*/ diff --git a/cpukit/score/src/objectgetisr.c b/cpukit/score/src/objectgetisr.c index 3a185ce125..71f62fe482 100644 --- a/cpukit/score/src/objectgetisr.c +++ b/cpukit/score/src/objectgetisr.c @@ -43,10 +43,12 @@ Objects_Control *_Objects_Get_isr_disable( return NULL; } -#if defined(RTEMS_MULTIPROCESSING) - *location = _Objects_MP_Is_remote( information, id ); -#else *location = OBJECTS_ERROR; + +#if defined(RTEMS_MULTIPROCESSING) + if ( _Objects_MP_Is_remote( id, information ) ) { + *location = OBJECTS_REMOTE; + } #endif return NULL; diff --git a/cpukit/score/src/objectmp.c b/cpukit/score/src/objectmp.c index 0df9190beb..0628544f70 100644 --- a/cpukit/score/src/objectmp.c +++ b/cpukit/score/src/objectmp.c @@ -351,9 +351,9 @@ Objects_Name_or_id_lookup_errors _Objects_MP_Global_name_search( return status; } -Objects_Locations _Objects_MP_Is_remote( - Objects_Information *information, - Objects_Id the_id +bool _Objects_MP_Is_remote( + Objects_Id the_id, + const Objects_Information *information ) { Objects_MP_Control *the_global_object; @@ -371,11 +371,7 @@ Objects_Locations _Objects_MP_Is_remote( _Objects_MP_Global_release( &lock_context ); - if ( the_global_object != NULL ) { - return OBJECTS_REMOTE; - } else { - return OBJECTS_ERROR; - } + return the_global_object != NULL; } Objects_MP_Control *_Objects_MP_Allocate_global_object( void ) -- cgit v1.2.3