forked from Imagelibrary/rtems
posix initialization threads table was misnamed "posix initialization
tasks table"
This commit is contained in:
@@ -39,15 +39,15 @@ extern "C" {
|
||||
|
||||
typedef struct {
|
||||
void *(*entry)(void *);
|
||||
} posix_initialization_tasks_table;
|
||||
} posix_initialization_threads_table;
|
||||
|
||||
typedef struct {
|
||||
int maximum_threads;
|
||||
int maximum_mutexes;
|
||||
int maximum_condition_variables;
|
||||
int maximum_keys;
|
||||
int number_of_initialization_tasks;
|
||||
posix_initialization_tasks_table *User_initialization_tasks_table;
|
||||
int maximum_threads;
|
||||
int maximum_mutexes;
|
||||
int maximum_condition_variables;
|
||||
int maximum_keys;
|
||||
int number_of_initialization_tasks;
|
||||
posix_initialization_threads_table *User_initialization_tasks_table;
|
||||
} posix_api_configuration_table;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -38,12 +38,12 @@ typedef Thread_Control POSIX_Threads_Control;
|
||||
POSIX_EXTERN Objects_Information _POSIX_Threads_Information;
|
||||
|
||||
/*
|
||||
* These are used to manage the user initialization tasks.
|
||||
* These are used to manage the user initialization threads.
|
||||
*/
|
||||
|
||||
POSIX_EXTERN posix_initialization_tasks_table
|
||||
*_POSIX_Threads_User_initialization_tasks;
|
||||
POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
||||
POSIX_EXTERN posix_initialization_threads_table
|
||||
*_POSIX_Threads_User_initialization_threads;
|
||||
POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_threads;
|
||||
|
||||
|
||||
/*
|
||||
@@ -55,9 +55,9 @@ POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
||||
*/
|
||||
|
||||
void _POSIX_Threads_Manager_initialization(
|
||||
unsigned32 maximum_pthreads,
|
||||
unsigned32 number_of_initialization_tasks,
|
||||
posix_initialization_tasks_table *user_tasks
|
||||
unsigned32 maximum_pthreads,
|
||||
unsigned32 number_of_initialization_threads,
|
||||
posix_initialization_threads_table *user_threads
|
||||
);
|
||||
|
||||
/*
|
||||
|
||||
@@ -39,15 +39,15 @@ extern "C" {
|
||||
|
||||
typedef struct {
|
||||
void *(*entry)(void *);
|
||||
} posix_initialization_tasks_table;
|
||||
} posix_initialization_threads_table;
|
||||
|
||||
typedef struct {
|
||||
int maximum_threads;
|
||||
int maximum_mutexes;
|
||||
int maximum_condition_variables;
|
||||
int maximum_keys;
|
||||
int number_of_initialization_tasks;
|
||||
posix_initialization_tasks_table *User_initialization_tasks_table;
|
||||
int maximum_threads;
|
||||
int maximum_mutexes;
|
||||
int maximum_condition_variables;
|
||||
int maximum_keys;
|
||||
int number_of_initialization_tasks;
|
||||
posix_initialization_threads_table *User_initialization_tasks_table;
|
||||
} posix_api_configuration_table;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -38,12 +38,12 @@ typedef Thread_Control POSIX_Threads_Control;
|
||||
POSIX_EXTERN Objects_Information _POSIX_Threads_Information;
|
||||
|
||||
/*
|
||||
* These are used to manage the user initialization tasks.
|
||||
* These are used to manage the user initialization threads.
|
||||
*/
|
||||
|
||||
POSIX_EXTERN posix_initialization_tasks_table
|
||||
*_POSIX_Threads_User_initialization_tasks;
|
||||
POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
||||
POSIX_EXTERN posix_initialization_threads_table
|
||||
*_POSIX_Threads_User_initialization_threads;
|
||||
POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_threads;
|
||||
|
||||
|
||||
/*
|
||||
@@ -55,9 +55,9 @@ POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
||||
*/
|
||||
|
||||
void _POSIX_Threads_Manager_initialization(
|
||||
unsigned32 maximum_pthreads,
|
||||
unsigned32 number_of_initialization_tasks,
|
||||
posix_initialization_tasks_table *user_tasks
|
||||
unsigned32 maximum_pthreads,
|
||||
unsigned32 number_of_initialization_threads,
|
||||
posix_initialization_threads_table *user_threads
|
||||
);
|
||||
|
||||
/*
|
||||
|
||||
@@ -84,7 +84,7 @@ User_extensions_routine _POSIX_Threads_Delete_extension(
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _POSIX_Threads_Initialize_user_tasks
|
||||
* _POSIX_Threads_Initialize_user_threads
|
||||
*
|
||||
* This routine creates and starts all configured user
|
||||
* initialzation threads.
|
||||
@@ -94,26 +94,27 @@ User_extensions_routine _POSIX_Threads_Delete_extension(
|
||||
* Output parameters: NONE
|
||||
*/
|
||||
|
||||
void _POSIX_Threads_Initialize_user_tasks( void )
|
||||
void _POSIX_Threads_Initialize_user_threads( void )
|
||||
{
|
||||
int status;
|
||||
unsigned32 index;
|
||||
unsigned32 maximum;
|
||||
posix_initialization_tasks_table *user_tasks;
|
||||
pthread_t thread_id;
|
||||
int status;
|
||||
unsigned32 index;
|
||||
unsigned32 maximum;
|
||||
posix_initialization_threads_table *user_threads;
|
||||
pthread_t thread_id;
|
||||
|
||||
/*
|
||||
* NOTE: This is slightly different from the Ada implementation.
|
||||
*/
|
||||
|
||||
user_tasks = _POSIX_Threads_User_initialization_tasks;
|
||||
maximum = _POSIX_Threads_Number_of_initialization_tasks;
|
||||
user_threads = _POSIX_Threads_User_initialization_threads;
|
||||
maximum = _POSIX_Threads_Number_of_initialization_threads;
|
||||
|
||||
if ( !user_tasks || maximum == 0 )
|
||||
if ( !user_threads || maximum == 0 )
|
||||
return;
|
||||
|
||||
for ( index=0 ; index < maximum ; index++ ) {
|
||||
status = pthread_create(&thread_id, NULL, user_tasks[ index ].entry, NULL);
|
||||
status = pthread_create(
|
||||
&thread_id,
|
||||
NULL,
|
||||
user_threads[ index ].entry,
|
||||
NULL
|
||||
);
|
||||
assert( !status );
|
||||
}
|
||||
}
|
||||
@@ -121,7 +122,7 @@ void _POSIX_Threads_Initialize_user_tasks( void )
|
||||
API_extensions_Control _POSIX_Threads_API_extensions = {
|
||||
{ NULL, NULL },
|
||||
NULL, /* predriver */
|
||||
_POSIX_Threads_Initialize_user_tasks, /* postdriver */
|
||||
_POSIX_Threads_Initialize_user_threads, /* postdriver */
|
||||
NULL, /* post switch */
|
||||
};
|
||||
|
||||
@@ -151,22 +152,22 @@ User_extensions_Control _POSIX_Threads_User_extensions = {
|
||||
*/
|
||||
|
||||
void _POSIX_Threads_Manager_initialization(
|
||||
unsigned32 maximum_pthreads,
|
||||
unsigned32 number_of_initialization_tasks,
|
||||
posix_initialization_tasks_table *user_tasks
|
||||
unsigned32 maximum_pthreads,
|
||||
unsigned32 number_of_initialization_threads,
|
||||
posix_initialization_threads_table *user_threads
|
||||
|
||||
)
|
||||
{
|
||||
_POSIX_Threads_Number_of_initialization_tasks =
|
||||
number_of_initialization_tasks;
|
||||
_POSIX_Threads_User_initialization_tasks = user_tasks;
|
||||
_POSIX_Threads_Number_of_initialization_threads =
|
||||
number_of_initialization_threads;
|
||||
_POSIX_Threads_User_initialization_threads = user_threads;
|
||||
|
||||
/*
|
||||
* There may not be any POSIX initialization threads configured.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
if ( user_tasks == NULL || number_of_initialization_tasks == 0 )
|
||||
if ( user_threads == NULL || number_of_initialization_threads == 0 )
|
||||
_Internal_error_Occurred( INTERNAL_ERROR_POSIX_API, TRUE, EINVAL );
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user