diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-22 09:13:08 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-08 09:00:53 +0100 |
commit | fe100e16117c36c40e99a853d09cd8dcf98dbff0 (patch) | |
tree | 81eb8dd6469908a103e3ade1d378c3a24ff9781b /cpukit/posix/src/pthreadinitthreads.c | |
parent | bsp/qoriq: Use array for FMan modules (diff) | |
download | rtems-fe100e16117c36c40e99a853d09cd8dcf98dbff0.tar.bz2 |
score: Add fatal errors for NULL entry init tasks
This simplifies the global construction.
Update #2514.
Diffstat (limited to 'cpukit/posix/src/pthreadinitthreads.c')
-rw-r--r-- | cpukit/posix/src/pthreadinitthreads.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpukit/posix/src/pthreadinitthreads.c b/cpukit/posix/src/pthreadinitthreads.c index 3379b7968c..7804c1875f 100644 --- a/cpukit/posix/src/pthreadinitthreads.c +++ b/cpukit/posix/src/pthreadinitthreads.c @@ -74,8 +74,15 @@ void _POSIX_Threads_Initialize_user_threads_body(void) _Assert( eno == 0 ); thread_entry = user_threads[ index ].thread_entry; + if ( thread_entry == NULL ) { + _Terminate( + INTERNAL_ERROR_CORE, + false, + INTERNAL_ERROR_POSIX_INIT_THREAD_ENTRY_IS_NULL + ); + } - if ( register_global_construction && thread_entry != NULL ) { + if ( register_global_construction ) { register_global_construction = false; thread_entry = (void *(*)(void *)) _Thread_Global_construction; } |