diff options
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/posix/include/rtems/posix/pthreadimpl.h | 9 | ||||
-rw-r--r-- | cpukit/posix/src/pthread.c | 24 | ||||
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 9 | ||||
-rw-r--r-- | cpukit/score/include/rtems/sysinit.h | 1 |
4 files changed, 6 insertions, 37 deletions
diff --git a/cpukit/posix/include/rtems/posix/pthreadimpl.h b/cpukit/posix/include/rtems/posix/pthreadimpl.h index 9aff71c8f0..870b5f9460 100644 --- a/cpukit/posix/include/rtems/posix/pthreadimpl.h +++ b/cpukit/posix/include/rtems/posix/pthreadimpl.h @@ -52,15 +52,6 @@ extern Thread_Information _POSIX_Threads_Information; extern pthread_attr_t _POSIX_Threads_Default_attributes; /** - * When the user configures a set of POSIX API initialization threads, - * This variable will point to the method used to initialize them. - * - * NOTE: It is instantiated and initialized by confdefs.h based upon - * application requirements. - */ -extern void (*_POSIX_Threads_Initialize_user_threads_p)(void); - -/** * @brief Copy POSIX Thread attribute structure. * * This routine copies the attr2 thread attribute structure diff --git a/cpukit/posix/src/pthread.c b/cpukit/posix/src/pthread.c index 6c4ea5ca8a..84d2e72108 100644 --- a/cpukit/posix/src/pthread.c +++ b/cpukit/posix/src/pthread.c @@ -285,28 +285,6 @@ static void _POSIX_Threads_Exitted_extension( pthread_exit( executing->Wait.return_argument ); } -/* - * _POSIX_Threads_Initialize_user_threads - * - * This routine creates and starts all configured user - * initialization threads. - */ -static void _POSIX_Threads_Initialize_user_threads( void ) -{ - if ( _POSIX_Threads_Initialize_user_threads_p ) - (*_POSIX_Threads_Initialize_user_threads_p)(); -} - -/* - * API Extension control structures - */ -API_extensions_Control _POSIX_Threads_API_extensions = { - #if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API) - .predriver_hook = NULL, - #endif - .postdriver_hook = _POSIX_Threads_Initialize_user_threads -}; - User_extensions_Control _POSIX_Threads_User_extensions = { { NULL, NULL }, { { NULL, NULL }, NULL }, @@ -363,8 +341,6 @@ static void _POSIX_Threads_Manager_initialization(void) */ _User_extensions_Add_API_set( &_POSIX_Threads_User_extensions ); - _API_extensions_Add( &_POSIX_Threads_API_extensions ); - /* * If we supported MP, then here we would ... * Register the MP Process Packet routine. diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 62db039185..ee2558cbc8 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -3461,10 +3461,11 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #ifdef CONFIGURE_INIT #if defined(CONFIGURE_POSIX_INIT_THREAD_TABLE) || \ defined(CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE) - void (*_POSIX_Threads_Initialize_user_threads_p)(void) = - _POSIX_Threads_Initialize_user_threads_body; - #else - void (*_POSIX_Threads_Initialize_user_threads_p)(void) = NULL; + RTEMS_SYSINIT_ITEM( + _POSIX_Threads_Initialize_user_threads_body, + RTEMS_SYSINIT_POSIX_USER_THREADS, + RTEMS_SYSINIT_ORDER_MIDDLE + ); #endif #endif #endif diff --git a/cpukit/score/include/rtems/sysinit.h b/cpukit/score/include/rtems/sysinit.h index 84eec29ead..e7b9c63f14 100644 --- a/cpukit/score/include/rtems/sysinit.h +++ b/cpukit/score/include/rtems/sysinit.h @@ -70,6 +70,7 @@ extern "C" { #define RTEMS_SYSINIT_DRVMGR_LEVEL_4 000704 #define RTEMS_SYSINIT_MP_FINALIZE 000705 #define RTEMS_SYSINIT_CLASSIC_USER_TASKS 000706 +#define RTEMS_SYSINIT_POSIX_USER_THREADS 000707 #define RTEMS_SYSINIT_STD_FILE_DESCRIPTORS 000800 /* |