[rtems commit] score: Merge threadmp implementation into one file

Sebastian Huber sebh at rtems.org
Fri Jul 26 09:51:53 UTC 2013


Module:    rtems
Branch:    master
Commit:    62590a7331256f4c7546ea815398d43082869403
Changeset: http://git.rtems.org/rtems/commit/?id=62590a7331256f4c7546ea815398d43082869403

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Jul 24 16:30:54 2013 +0200

score: Merge threadmp implementation into one file

---

 cpukit/score/Makefile.am                     |    1 -
 cpukit/score/include/rtems/score/threadmp.h  |   44 ++++++++++++++----
 cpukit/score/inline/rtems/score/threadmp.inl |   64 --------------------------
 cpukit/score/preinstall.am                   |    4 --
 4 files changed, 35 insertions(+), 78 deletions(-)

diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am
index be493da..f8333c8 100644
--- a/cpukit/score/Makefile.am
+++ b/cpukit/score/Makefile.am
@@ -109,7 +109,6 @@ if HAS_MP
 ## We only build multiprocessing related files if HAS_MP was defined
 include_rtems_score_HEADERS += inline/rtems/score/mppkt.inl
 include_rtems_score_HEADERS += inline/rtems/score/objectmp.inl
-include_rtems_score_HEADERS += inline/rtems/score/threadmp.inl
 endif
 
 ## src
diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h
index 555bca2..1fa0df7 100644
--- a/cpukit/score/include/rtems/score/threadmp.h
+++ b/cpukit/score/include/rtems/score/threadmp.h
@@ -23,6 +23,12 @@
 # error "Never use <rtems/score/threadmp.h> directly; include <rtems/score/threadimpl.h> instead."
 #endif
 
+#include <rtems/score/mpci.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  *  @defgroup ScoreThreadMP Thread Handler Multiprocessing Support
  *
@@ -35,10 +41,6 @@
  */
 /**@{*/
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  *  @brief Initialize MP thread handler.
  *
@@ -87,15 +89,39 @@ SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies;
  */
 SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies;
 
-#ifndef __RTEMS_APPLICATION__
-#include <rtems/score/threadmp.inl>
-#endif
+/**
+ * This function returns true if the thread in question is the
+ * multiprocessing receive thread.
+ *
+ * @note This is a macro to avoid needing a prototype for
+ *       _MPCI_Receive_server_tcb until it is used.
+ */
+#define _Thread_MP_Is_receive(_the_thread) \
+  ((_the_thread) == _MPCI_Receive_server_tcb)
 
-#ifdef __cplusplus
+/**
+ * This routine frees a proxy control block to the
+ * inactive chain of free proxy control blocks.
+ */
+
+RTEMS_INLINE_ROUTINE void _Thread_MP_Free_proxy (
+  Thread_Control *the_thread
+)
+{
+  Thread_Proxy_control *the_proxy;
+
+  the_proxy = (Thread_Proxy_control *) the_thread;
+
+  _Chain_Extract( &the_proxy->Active );
+
+  _Chain_Append( &_Thread_MP_Inactive_proxies, &the_thread->Object.Node );
 }
-#endif
 
 /**@}*/
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 /* end of include file */
diff --git a/cpukit/score/inline/rtems/score/threadmp.inl b/cpukit/score/inline/rtems/score/threadmp.inl
deleted file mode 100644
index 85088d1..0000000
--- a/cpukit/score/inline/rtems/score/threadmp.inl
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * @file
- *
- * @brief Inlined Routines for the Multiprocessing part of Thread Package
- *
- * This include file contains the bodies of all inlined routines
- * for the multiprocessing part of thread package.
- */
-
-/*
- *  COPYRIGHT (c) 1989-2008.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.com/license/LICENSE.
- */
-
-#ifndef _RTEMS_SCORE_THREADMP_H
-# error "Never use <rtems/score/threadmp.inl> directly; include <rtems/score/threadmp.h> instead."
-#endif
-
-#include <rtems/score/mpci.h>
-
-#ifndef _RTEMS_SCORE_THREADMP_INL
-#define _RTEMS_SCORE_THREADMP_INL
-
-/**
- * @addtogroup ScoreThreadMP
- */
-/**@{**/
-
-/**
- * This function returns true if the thread in question is the
- * multiprocessing receive thread.
- *
- * @note This is a macro to avoid needing a prototype for
- *       _MPCI_Receive_server_tcb until it is used.
- */
-#define _Thread_MP_Is_receive(_the_thread) \
-  ((_the_thread) == _MPCI_Receive_server_tcb)
-
-/**
- * This routine frees a proxy control block to the
- * inactive chain of free proxy control blocks.
- */
-
-RTEMS_INLINE_ROUTINE void _Thread_MP_Free_proxy (
-  Thread_Control *the_thread
-)
-{
-  Thread_Proxy_control *the_proxy;
-
-  the_proxy = (Thread_Proxy_control *) the_thread;
-
-  _Chain_Extract( &the_proxy->Active );
-
-  _Chain_Append( &_Thread_MP_Inactive_proxies, &the_thread->Object.Node );
-}
-
-/** @} */
-
-#endif
-/* end of include file */
diff --git a/cpukit/score/preinstall.am b/cpukit/score/preinstall.am
index 8536ec4..0b21d7c 100644
--- a/cpukit/score/preinstall.am
+++ b/cpukit/score/preinstall.am
@@ -355,8 +355,4 @@ PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/mppkt.inl
 $(PROJECT_INCLUDE)/rtems/score/objectmp.inl: inline/rtems/score/objectmp.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/objectmp.inl
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/objectmp.inl
-
-$(PROJECT_INCLUDE)/rtems/score/threadmp.inl: inline/rtems/score/threadmp.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/threadmp.inl
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/threadmp.inl
 endif




More information about the vc mailing list