summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-12-09 06:51:44 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-12-12 08:03:29 +0100
commit0a81a58254f993652822dddba7b73cc7ac439dad (patch)
tree4cb95ba49b7b63a4473139dbb7d74a7c2b358c48
parentAdd INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED (diff)
downloadrtems-0a81a58254f993652822dddba7b73cc7ac439dad.tar.bz2
Add INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED
Update #2825.
-rw-r--r--cpukit/posix/src/pthreadinitthreads.c8
-rw-r--r--cpukit/sapi/src/interrtext.c3
-rw-r--r--cpukit/score/include/rtems/score/interr.h3
-rw-r--r--testsuites/psxtests/psxfatal02/testcase.h4
-rw-r--r--testsuites/sptests/spinternalerror02/init.c2
5 files changed, 13 insertions, 7 deletions
diff --git a/cpukit/posix/src/pthreadinitthreads.c b/cpukit/posix/src/pthreadinitthreads.c
index 3cfb92d01f..2fdfa5325d 100644
--- a/cpukit/posix/src/pthreadinitthreads.c
+++ b/cpukit/posix/src/pthreadinitthreads.c
@@ -102,7 +102,11 @@ void _POSIX_Threads_Initialize_user_threads_body(void)
thread_entry,
NULL
);
- if ( eno )
- _POSIX_Fatal_error( POSIX_FD_PTHREAD, eno );
+ if ( eno != 0 ) {
+ _Terminate(
+ INTERNAL_ERROR_CORE,
+ INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED
+ );
+ }
}
}
diff --git a/cpukit/sapi/src/interrtext.c b/cpukit/sapi/src/interrtext.c
index 55b79d1704..b2211ea3ed 100644
--- a/cpukit/sapi/src/interrtext.c
+++ b/cpukit/sapi/src/interrtext.c
@@ -59,7 +59,8 @@ static const char *const internal_error_text[] = {
"INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_STICKY_FROM_BAD_STATE",
"INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL",
"INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT",
- "INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED"
+ "INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED",
+ "INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED"
};
const char *rtems_internal_error_text( rtems_fatal_code error )
diff --git a/cpukit/score/include/rtems/score/interr.h b/cpukit/score/include/rtems/score/interr.h
index cd72dea736..aaaacf531f 100644
--- a/cpukit/score/include/rtems/score/interr.h
+++ b/cpukit/score/include/rtems/score/interr.h
@@ -172,7 +172,8 @@ typedef enum {
INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_STICKY_FROM_BAD_STATE = 29,
INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL = 30,
INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT = 31,
- INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED = 32
+ INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED = 32,
+ INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED = 33
} Internal_errors_Core_list;
typedef CPU_Uint32ptr Internal_errors_t;
diff --git a/testsuites/psxtests/psxfatal02/testcase.h b/testsuites/psxtests/psxfatal02/testcase.h
index facf731b10..7f97a6769e 100644
--- a/testsuites/psxtests/psxfatal02/testcase.h
+++ b/testsuites/psxtests/psxfatal02/testcase.h
@@ -32,8 +32,8 @@ posix_initialization_threads_table POSIX_Initialization_threads[] = {
#define FATAL_ERROR_TEST_NAME "2"
#define FATAL_ERROR_DESCRIPTION \
"POSIX API Init thread create failure -- no memory for stack"
-#define FATAL_ERROR_EXPECTED_SOURCE INTERNAL_ERROR_POSIX_API
-#define FATAL_ERROR_EXPECTED_ERROR ((POSIX_FD_PTHREAD << 8) | EAGAIN)
+#define FATAL_ERROR_EXPECTED_SOURCE INTERNAL_ERROR_CORE
+#define FATAL_ERROR_EXPECTED_ERROR INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED
void force_error(void)
{
diff --git a/testsuites/sptests/spinternalerror02/init.c b/testsuites/sptests/spinternalerror02/init.c
index 5bea4f1b66..011a7fe37e 100644
--- a/testsuites/sptests/spinternalerror02/init.c
+++ b/testsuites/sptests/spinternalerror02/init.c
@@ -36,7 +36,7 @@ static void test_internal_error_text(void)
} while ( text != text_last );
rtems_test_assert(
- error - 3 == INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED
+ error - 3 == INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED
);
}