[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