[PATCH 08/15] mpci: Simplify _Objects_MP_Is_remote()
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri May 20 13:33:45 UTC 2016
---
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 4f73012..5c9f4f7 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 46add28..9cde35b 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 3a185ce..71f62fe 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 0df9190..0628544 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 )
--
1.8.4.5
More information about the devel
mailing list