diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/include/rtems/score/threadimpl.h | 21 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/threadmp.h | 11 | ||||
-rw-r--r-- | cpukit/score/src/threadget.c | 21 |
3 files changed, 32 insertions, 21 deletions
diff --git a/cpukit/score/include/rtems/score/threadimpl.h b/cpukit/score/include/rtems/score/threadimpl.h index b19a6dcae0..1fea4da6ca 100644 --- a/cpukit/score/include/rtems/score/threadimpl.h +++ b/cpukit/score/include/rtems/score/threadimpl.h @@ -482,6 +482,27 @@ void _Thread_Set_priority( bool prepend_it ); +RTEMS_INLINE_ROUTINE Objects_Information *_Thread_Get_objects_information( + Objects_Id id +) +{ + uint32_t the_api; + + the_api = _Objects_Get_API( id ); + + if ( !_Objects_Is_api_valid( the_api ) ) { + return NULL; + } + + /* + * Threads are always first class :) + * + * There is no need to validate the object class of the object identifier, + * since this will be done by the object get methods. + */ + return _Objects_Information_table[ the_api ][ 1 ]; +} + /** * @brief Maps thread Id to a TCB pointer. * diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h index 5dc5c7ebec..46add28c13 100644 --- a/cpukit/score/include/rtems/score/threadmp.h +++ b/cpukit/score/include/rtems/score/threadmp.h @@ -91,6 +91,17 @@ Thread_Control *_Thread_MP_Find_proxy ( */ void _Thread_MP_Free_proxy( Thread_Control *the_thread ); +RTEMS_INLINE_ROUTINE bool _Thread_MP_Is_remote( Objects_Id id ) +{ + Objects_Information *information; + + information = _Thread_Get_objects_information( id ); + if ( information == NULL ) { + return false; + } + + return _Objects_MP_Is_remote( information, id ) == OBJECTS_REMOTE; +} /**@}*/ diff --git a/cpukit/score/src/threadget.c b/cpukit/score/src/threadget.c index 24773facbf..7e3963d287 100644 --- a/cpukit/score/src/threadget.c +++ b/cpukit/score/src/threadget.c @@ -21,27 +21,6 @@ #include <rtems/score/threadimpl.h> -static Objects_Information *_Thread_Get_objects_information( - Objects_Id id -) -{ - uint32_t the_api; - - the_api = _Objects_Get_API( id ); - - if ( !_Objects_Is_api_valid( the_api ) ) { - return NULL; - } - - /* - * Threads are always first class :) - * - * There is no need to validate the object class of the object identifier, - * since this will be done by the object get methods. - */ - return _Objects_Information_table[ the_api ][ 1 ]; -} - Thread_Control *_Thread_Get( Objects_Id id, Objects_Locations *location |