[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