summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/posix/pthread.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-02-14 11:20:42 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-02-25 07:15:18 +0100
commit3b4795b46fa190ea29007a6b9766689cacffe3d2 (patch)
tree0a1bb8cc582370c2469805d580eb0c230a832289 /cpukit/include/rtems/posix/pthread.h
parentconfig: Bring back RTEMS 4.11 configuration table (diff)
downloadrtems-3b4795b46fa190ea29007a6b9766689cacffe3d2.tar.bz2
config: Remove CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
The CONFIGURE_HAS_OWN_INIT_TASK_TABLE and CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE are the last *_HAS_OWN_* configuration options. These two options are probably unused, see also: * https://lists.rtems.org/pipermail/users/2019-April/033129.html * https://lists.rtems.org/pipermail/users/2019-April/033130.html Removing them simplifies the configuration. If there is a real user need which shows up after the removal, we can resurrect them on demand. Using CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE would have required the use of the undocumented CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME and CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE configuration options. Update #3874.
Diffstat (limited to 'cpukit/include/rtems/posix/pthread.h')
-rw-r--r--cpukit/include/rtems/posix/pthread.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/cpukit/include/rtems/posix/pthread.h b/cpukit/include/rtems/posix/pthread.h
index 5df938e0b9..8aa11c53fe 100644
--- a/cpukit/include/rtems/posix/pthread.h
+++ b/cpukit/include/rtems/posix/pthread.h
@@ -36,15 +36,32 @@ extern "C" {
*/
/**@{**/
+/**
+ * For now, we are only allowing the user to specify the entry point
+ * and stack size for POSIX initialization threads.
+ */
+typedef struct {
+ /** This is the entry point for a POSIX initialization thread. */
+ void *(*thread_entry)(void *);
+ /** This is the stack size for a POSIX initialization thread. */
+ int stack_size;
+} posix_initialization_threads_table;
+
extern const size_t _POSIX_Threads_Minimum_stack_size;
/**
- * @brief POSIX threads initialize user threads body.
+ * @brief Initialization table for the first user POSIX thread.
*
- * This routine creates and starts all configured user
- * initialization threads.
+ * This table is used by _POSIX_Threads_Initialize_user_thread() and
+ * initialized via <rtems/confdefs.h>.
+ */
+extern const posix_initialization_threads_table
+ _POSIX_Threads_User_thread_table;
+
+/**
+ * @brief System initialization handler to create the first user POSIX thread.
*/
-extern void _POSIX_Threads_Initialize_user_threads_body(void);
+extern void _POSIX_Threads_Initialize_user_thread( void );
/**
* The following defines the information control block used to manage