summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-01-26 11:13:45 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-02-03 10:00:58 +0100
commit4210114032d8d079bddaa2333875c38e30c93490 (patch)
tree18becea52309a821230316f4f68c59f92cc19a11 /testsuites/sptests
parentUse linker set for Classic User Tasks init (diff)
downloadrtems-4210114032d8d079bddaa2333875c38e30c93490.tar.bz2
Use linker set for POSIX User Threads init
Update #2408.
Diffstat (limited to 'testsuites/sptests')
-rw-r--r--testsuites/sptests/spsysinit01/init.c31
1 files changed, 31 insertions, 0 deletions
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