[rtems commit] posix: Create barrier implementation header

Sebastian Huber sebh at rtems.org
Mon Jul 22 14:51:43 UTC 2013


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Jul 19 10:51:44 2013 +0200

posix: Create barrier implementation header

Move implementation specific parts of barrier.h and barrier.inl into new
header file barrierimpl.h.  The barrier.h contains now only the
application visible API.

---

 cpukit/libcsupport/src/resource_snapshot.c         |    2 +-
 cpukit/posix/Makefile.am                           |    2 +-
 cpukit/posix/include/rtems/posix/barrier.h         |   51 ++++----------------
 .../rtems/posix/barrierimpl.h}                     |   45 +++++++++++++++--
 cpukit/posix/preinstall.am                         |    8 ++--
 cpukit/posix/src/pbarrier.c                        |    2 +-
 cpukit/posix/src/pbarrierdestroy.c                 |    2 +-
 cpukit/posix/src/pbarrierinit.c                    |    2 +-
 cpukit/posix/src/pbarriertranslatereturncode.c     |    2 +-
 cpukit/posix/src/pbarrierwait.c                    |    2 +-
 cpukit/sapi/src/posixapi.c                         |    2 +-
 11 files changed, 61 insertions(+), 59 deletions(-)

diff --git a/cpukit/libcsupport/src/resource_snapshot.c b/cpukit/libcsupport/src/resource_snapshot.c
index cb3d6d7..8d2a05c 100644
--- a/cpukit/libcsupport/src/resource_snapshot.c
+++ b/cpukit/libcsupport/src/resource_snapshot.c
@@ -30,7 +30,7 @@
 #include <rtems/rtems/semimpl.h>
 
 #ifdef RTEMS_POSIX_API
-  #include <rtems/posix/barrier.h>
+  #include <rtems/posix/barrierimpl.h>
   #include <rtems/posix/cond.h>
   #include <rtems/posix/mqueueimpl.h>
   #include <rtems/posix/muteximpl.h>
diff --git a/cpukit/posix/Makefile.am b/cpukit/posix/Makefile.am
index 0accfd4..a7a4111 100644
--- a/cpukit/posix/Makefile.am
+++ b/cpukit/posix/Makefile.am
@@ -45,6 +45,7 @@ include_rtems_posix_HEADERS += include/rtems/posix/threadsup.h
 include_rtems_posix_HEADERS += include/rtems/posix/time.h
 include_rtems_posix_HEADERS += include/rtems/posix/timer.h
 include_rtems_posix_HEADERS += include/rtems/posix/barrier.h
+include_rtems_posix_HEADERS += include/rtems/posix/barrierimpl.h
 include_rtems_posix_HEADERS += include/rtems/posix/rwlock.h
 include_rtems_posix_HEADERS += include/rtems/posix/spinlock.h
 
@@ -53,7 +54,6 @@ include_rtems_posix_HEADERS += inline/rtems/posix/key.inl
 include_rtems_posix_HEADERS += inline/rtems/posix/pthread.inl
 include_rtems_posix_HEADERS += inline/rtems/posix/priority.inl
 include_rtems_posix_HEADERS += inline/rtems/posix/timer.inl
-include_rtems_posix_HEADERS += inline/rtems/posix/barrier.inl
 include_rtems_posix_HEADERS += inline/rtems/posix/rwlock.inl
 include_rtems_posix_HEADERS += inline/rtems/posix/spinlock.inl
 
diff --git a/cpukit/posix/include/rtems/posix/barrier.h b/cpukit/posix/include/rtems/posix/barrier.h
index 73c63f7..3ad9bf8 100644
--- a/cpukit/posix/include/rtems/posix/barrier.h
+++ b/cpukit/posix/include/rtems/posix/barrier.h
@@ -25,6 +25,13 @@
 #ifndef _RTEMS_POSIX_BARRIER_H
 #define _RTEMS_POSIX_BARRIER_H
 
+#include <rtems/score/object.h>
+#include <rtems/score/corebarrier.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * @defgroup POSIXBarrier POSIX Barriers
  *
@@ -36,13 +43,6 @@
  */
 /**@{**/
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <rtems/score/object.h>
-#include <rtems/score/corebarrier.h>
-
 /**
  * This type defines the control block used to manage each barrier.
  */
@@ -54,44 +54,11 @@ typedef struct {
   CORE_barrier_Control     Barrier;
 }   POSIX_Barrier_Control;
 
-/**
- *  The following defines the information control block used to manage
- *  this class of objects.
- */
-
-POSIX_EXTERN Objects_Information  _POSIX_Barrier_Information;
-
-/**
- * @brief POSIX barrier manager initialization.
- *
- * This routine performs the initialization necessary for this manager.
- */
-
-void _POSIX_Barrier_Manager_initialization(void);
-
-/**
- * @brief POSIX translate barrier return code.
- * 
- * This routine translates SuperCore Barrier status codes into the
- * corresponding POSIX ones.
- *
- * @param[in] the_barrier_status is the SuperCore status.
- *
- * @return the corresponding POSIX status
- */
-int _POSIX_Barrier_Translate_core_barrier_return_code(
-  CORE_barrier_Status  the_barrier_status
-);
-
-#ifndef __RTEMS_APPLICATION__
-#include <rtems/posix/barrier.inl>
-#endif
-
-/** @} */
-
 #ifdef __cplusplus
 }
 #endif
 
+/** @} */
+
 #endif
 /*  end of include file */
diff --git a/cpukit/posix/inline/rtems/posix/barrier.inl b/cpukit/posix/include/rtems/posix/barrierimpl.h
similarity index 73%
rename from cpukit/posix/inline/rtems/posix/barrier.inl
rename to cpukit/posix/include/rtems/posix/barrierimpl.h
index 6e439d8..180c169 100644
--- a/cpukit/posix/inline/rtems/posix/barrier.inl
+++ b/cpukit/posix/include/rtems/posix/barrierimpl.h
@@ -16,15 +16,46 @@
  *  http://www.rtems.com/license/LICENSE.
  */
 
-#ifndef _RTEMS_POSIX_BARRIER_H
-# error "Never use <rtems/posix/barrier.inl> directly; include <rtems/posix/barrier.h> instead."
-#endif
+#ifndef _RTEMS_POSIX_BARRIERIMPL_H
+#define _RTEMS_POSIX_BARRIERIMPL_H
 
-#ifndef _RTEMS_POSIX_BARRIER_INL
-#define _RTEMS_POSIX_BARRIER_INL
+#include <rtems/posix/barrier.h>
 
 #include <pthread.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ *  The following defines the information control block used to manage
+ *  this class of objects.
+ */
+
+POSIX_EXTERN Objects_Information  _POSIX_Barrier_Information;
+
+/**
+ * @brief POSIX barrier manager initialization.
+ *
+ * This routine performs the initialization necessary for this manager.
+ */
+
+void _POSIX_Barrier_Manager_initialization(void);
+
+/**
+ * @brief POSIX translate barrier return code.
+ * 
+ * This routine translates SuperCore Barrier status codes into the
+ * corresponding POSIX ones.
+ *
+ * @param[in] the_barrier_status is the SuperCore status.
+ *
+ * @return the corresponding POSIX status
+ */
+int _POSIX_Barrier_Translate_core_barrier_return_code(
+  CORE_barrier_Status  the_barrier_status
+);
+
 /**
  * @brief Allocate a barrier control block.
  *
@@ -92,5 +123,9 @@ RTEMS_INLINE_ROUTINE bool _POSIX_Barrier_Is_null (
   return ( the_barrier == NULL );
 }
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 /*  end of include file */
diff --git a/cpukit/posix/preinstall.am b/cpukit/posix/preinstall.am
index aee07c0..c84a54b 100644
--- a/cpukit/posix/preinstall.am
+++ b/cpukit/posix/preinstall.am
@@ -124,6 +124,10 @@ $(PROJECT_INCLUDE)/rtems/posix/barrier.h: include/rtems/posix/barrier.h $(PROJEC
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/barrier.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/barrier.h
 
+$(PROJECT_INCLUDE)/rtems/posix/barrierimpl.h: include/rtems/posix/barrierimpl.h $(PROJECT_INCLUDE)/rtems/posix/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/barrierimpl.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/barrierimpl.h
+
 $(PROJECT_INCLUDE)/rtems/posix/rwlock.h: include/rtems/posix/rwlock.h $(PROJECT_INCLUDE)/rtems/posix/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/rwlock.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/rwlock.h
@@ -152,10 +156,6 @@ $(PROJECT_INCLUDE)/rtems/posix/timer.inl: inline/rtems/posix/timer.inl $(PROJECT
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/timer.inl
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/timer.inl
 
-$(PROJECT_INCLUDE)/rtems/posix/barrier.inl: inline/rtems/posix/barrier.inl $(PROJECT_INCLUDE)/rtems/posix/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/barrier.inl
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/barrier.inl
-
 $(PROJECT_INCLUDE)/rtems/posix/rwlock.inl: inline/rtems/posix/rwlock.inl $(PROJECT_INCLUDE)/rtems/posix/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/rwlock.inl
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/rwlock.inl
diff --git a/cpukit/posix/src/pbarrier.c b/cpukit/posix/src/pbarrier.c
index 5023b5c..ff548bb 100644
--- a/cpukit/posix/src/pbarrier.c
+++ b/cpukit/posix/src/pbarrier.c
@@ -29,7 +29,7 @@
 
 #include <rtems/system.h>
 #include <rtems/config.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
 
 /**
  *  @brief _POSIX_Barrier_Manager_initialization
diff --git a/cpukit/posix/src/pbarrierdestroy.c b/cpukit/posix/src/pbarrierdestroy.c
index baf788e..a178ec6 100644
--- a/cpukit/posix/src/pbarrierdestroy.c
+++ b/cpukit/posix/src/pbarrierdestroy.c
@@ -22,7 +22,7 @@
 #include <errno.h>
 
 #include <rtems/system.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
 
 /**
  *  This directive allows a thread to delete a barrier specified by
diff --git a/cpukit/posix/src/pbarrierinit.c b/cpukit/posix/src/pbarrierinit.c
index edf7e7c..1cade29 100644
--- a/cpukit/posix/src/pbarrierinit.c
+++ b/cpukit/posix/src/pbarrierinit.c
@@ -24,7 +24,7 @@
 #include <errno.h>
 
 #include <rtems/system.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
 
 /*
  *  pthread_barrier_init
diff --git a/cpukit/posix/src/pbarriertranslatereturncode.c b/cpukit/posix/src/pbarriertranslatereturncode.c
index e9552d1..f2ba58c 100644
--- a/cpukit/posix/src/pbarriertranslatereturncode.c
+++ b/cpukit/posix/src/pbarriertranslatereturncode.c
@@ -24,7 +24,7 @@
 #include <errno.h>
 
 #include <rtems/system.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
 
 /*
  *  _POSIX_Barrier_Translate_core_barrier_return_code
diff --git a/cpukit/posix/src/pbarrierwait.c b/cpukit/posix/src/pbarrierwait.c
index e55faa8..036932e 100644
--- a/cpukit/posix/src/pbarrierwait.c
+++ b/cpukit/posix/src/pbarrierwait.c
@@ -22,7 +22,7 @@
 #include <errno.h>
 
 #include <rtems/system.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
 
 /**
  * This directive allows a thread to wait at a barrier.
diff --git a/cpukit/sapi/src/posixapi.c b/cpukit/sapi/src/posixapi.c
index 41bce8d..e6df58a 100644
--- a/cpukit/sapi/src/posixapi.c
+++ b/cpukit/sapi/src/posixapi.c
@@ -28,7 +28,7 @@
 #include <mqueue.h>
 #include <rtems/config.h>
 #include <rtems/score/object.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
 #include <rtems/posix/cond.h>
 #include <rtems/posix/config.h>
 #include <rtems/posix/key.h>




More information about the vc mailing list