From 4210114032d8d079bddaa2333875c38e30c93490 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 26 Jan 2016 11:13:45 +0100 Subject: Use linker set for POSIX User Threads init Update #2408. --- testsuites/sptests/spsysinit01/init.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'testsuites/sptests') diff --git a/testsuites/sptests/spsysinit01/init.c b/testsuites/sptests/spsysinit01/init.c index 0acb567349..0aeb4eeeef 100644 --- a/testsuites/sptests/spsysinit01/init.c +++ b/testsuites/sptests/spsysinit01/init.c @@ -134,6 +134,10 @@ typedef enum { DEVICE_DRIVERS_POST, CLASSIC_USER_TASKS_PRE, CLASSIC_USER_TASKS_POST, +#ifdef RTEMS_POSIX_API + POSIX_USER_THREADS_PRE, + POSIX_USER_THREADS_POST, +#endif /* RTEMS_POSIX_API */ STD_FILE_DESCRIPTORS_PRE, STD_FILE_DESCRIPTORS_POST, INIT_TASK, @@ -618,6 +622,22 @@ LAST(RTEMS_SYSINIT_CLASSIC_USER_TASKS) next_step(CLASSIC_USER_TASKS_POST); } +#ifdef RTEMS_POSIX_API + +FIRST(RTEMS_SYSINIT_POSIX_USER_THREADS) +{ + assert(_Objects_Active_count(&_POSIX_Threads_Information.Objects) == 0); + next_step(POSIX_USER_THREADS_PRE); +} + +LAST(RTEMS_SYSINIT_POSIX_USER_THREADS) +{ + assert(_Objects_Active_count(&_POSIX_Threads_Information.Objects) == 1); + next_step(POSIX_USER_THREADS_POST); +} + +#endif /* RTEMS_POSIX_API */ + FIRST(RTEMS_SYSINIT_STD_FILE_DESCRIPTORS) { struct stat st; @@ -649,6 +669,15 @@ static void Init(rtems_task_argument arg) exit(0); } +#ifdef RTEMS_POSIX_API + +static void *POSIX_Init(void *arg) +{ + return NULL; +} + +#endif /* RTEMS_POSIX_API */ + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER @@ -692,6 +721,8 @@ static void Init(rtems_task_argument arg) #define CONFIGURE_MAXIMUM_POSIX_THREADS 1 +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + #endif /* RTEMS_POSIX_API */ #define CONFIGURE_MAXIMUM_POSIX_KEYS 1 -- cgit v1.2.3