From 0a81a58254f993652822dddba7b73cc7ac439dad Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 9 Dec 2016 06:51:44 +0100 Subject: Add INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED Update #2825. --- cpukit/posix/src/pthreadinitthreads.c | 8 ++++++-- cpukit/sapi/src/interrtext.c | 3 ++- cpukit/score/include/rtems/score/interr.h | 3 ++- testsuites/psxtests/psxfatal02/testcase.h | 4 ++-- testsuites/sptests/spinternalerror02/init.c | 2 +- 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 ); } -- cgit v1.2.3