summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-10 07:18:09 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-10 07:18:09 +0200
commitbd5be58fa6b4f1108fc69c8ff55cf2d20ddde620 (patch)
tree747a03289a5f31df52a69f04a57a916b069d4a78 /cpukit/posix/include
parentposix: Constify default thread processor affinity (diff)
downloadrtems-bd5be58fa6b4f1108fc69c8ff55cf2d20ddde620.tar.bz2
posix: Unconditional thread attribute support
Update #2514.
Diffstat (limited to 'cpukit/posix/include')
-rw-r--r--cpukit/posix/include/rtems/posix/pthreadattrimpl.h71
-rw-r--r--cpukit/posix/include/rtems/posix/pthreadimpl.h29
2 files changed, 71 insertions, 29 deletions
diff --git a/cpukit/posix/include/rtems/posix/pthreadattrimpl.h b/cpukit/posix/include/rtems/posix/pthreadattrimpl.h
new file mode 100644
index 0000000000..a52be931a1
--- /dev/null
+++ b/cpukit/posix/include/rtems/posix/pthreadattrimpl.h
@@ -0,0 +1,71 @@
+/**
+ * @file
+ *
+ * @brief POSIX Threads Private Support
+ *
+ * This include file contains all the private support information for
+ * POSIX threads.
+ */
+
+/*
+ * COPYRIGHT (c) 1989-2011.
+ * 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.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_POSIX_PTHREADATTRIMPL_H
+#define _RTEMS_POSIX_PTHREADATTRIMPL_H
+
+#include <errno.h>
+#include <pthread.h>
+
+#include <rtems/score/basedefs.h>
+#include <rtems/score/assert.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup POSIX_PTHREAD
+ */
+/**@{**/
+
+/**
+ * This variable contains the default POSIX Thread attributes.
+ */
+extern const pthread_attr_t _POSIX_Threads_Default_attributes;
+
+RTEMS_INLINE_ROUTINE void _POSIX_Threads_Copy_attributes(
+ pthread_attr_t *dst_attr,
+ const pthread_attr_t *src_attr
+)
+{
+ *dst_attr = *src_attr;
+ _Assert(
+ dst_attr->affinitysetsize == sizeof(dst_attr->affinitysetpreallocated)
+ );
+ dst_attr->affinityset = &dst_attr->affinitysetpreallocated;
+}
+
+RTEMS_INLINE_ROUTINE void _POSIX_Threads_Initialize_attributes(
+ pthread_attr_t *attr
+)
+{
+ _POSIX_Threads_Copy_attributes(
+ attr,
+ &_POSIX_Threads_Default_attributes
+ );
+}
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/posix/include/rtems/posix/pthreadimpl.h b/cpukit/posix/include/rtems/posix/pthreadimpl.h
index 6b338f9d5c..055043105b 100644
--- a/cpukit/posix/include/rtems/posix/pthreadimpl.h
+++ b/cpukit/posix/include/rtems/posix/pthreadimpl.h
@@ -48,11 +48,6 @@ extern "C" {
*/
extern Thread_Information _POSIX_Threads_Information;
-/**
- * This variable contains the default POSIX Thread attributes.
- */
-extern const pthread_attr_t _POSIX_Threads_Default_attributes;
-
RTEMS_INLINE_ROUTINE void _POSIX_Threads_Sporadic_timer_insert(
Thread_Control *the_thread,
POSIX_API_Control *api
@@ -113,20 +108,6 @@ RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Threads_Allocate(void)
_Objects_Allocate_unprotected( &_POSIX_Threads_Information.Objects );
}
-RTEMS_INLINE_ROUTINE void _POSIX_Threads_Copy_attributes(
- pthread_attr_t *dst_attr,
- const pthread_attr_t *src_attr
-)
-{
- *dst_attr = *src_attr;
-#if defined(RTEMS_SMP)
- _Assert(
- dst_attr->affinitysetsize == sizeof(dst_attr->affinitysetpreallocated)
- );
- dst_attr->affinityset = &dst_attr->affinitysetpreallocated;
-#endif
-}
-
RTEMS_INLINE_ROUTINE void _POSIX_Threads_Free (
Thread_Control *the_pthread
)
@@ -134,16 +115,6 @@ RTEMS_INLINE_ROUTINE void _POSIX_Threads_Free (
_Objects_Free( &_POSIX_Threads_Information.Objects, &the_pthread->Object );
}
-RTEMS_INLINE_ROUTINE void _POSIX_Threads_Initialize_attributes(
- pthread_attr_t *attr
-)
-{
- _POSIX_Threads_Copy_attributes(
- attr,
- &_POSIX_Threads_Default_attributes
- );
-}
-
/** @} */
#ifdef __cplusplus