RTEMS  5.1
Files | Data Structures | Macros | Functions | Variables
POSIX Threads Support

Private Support Information for POSIX Threads. More...

Files

file  psxtransschedparam.c
 Translate sched_param into SuperCore Terms.
 
file  pthreadinitthreads.c
 POSIX Threads Initialize User Threads Body.
 

Data Structures

struct  posix_initialization_threads_table
 

Macros

#define PTHREAD_MINIMUM_STACK_SIZE   _POSIX_Threads_Minimum_stack_size
 

Functions

void _POSIX_Threads_Initialize_user_thread (void)
 System initialization handler to create the first user POSIX thread.
 
RTEMS_INLINE_ROUTINE void _POSIX_Threads_Copy_attributes (pthread_attr_t *dst_attr, const pthread_attr_t *src_attr)
 
RTEMS_INLINE_ROUTINE void _POSIX_Threads_Initialize_attributes (pthread_attr_t *attr)
 
RTEMS_INLINE_ROUTINE void _POSIX_Threads_Get_sched_param_sporadic (const Thread_Control *the_thread, const Scheduler_Control *scheduler, struct sched_param *param)
 
void _POSIX_Threads_Sporadic_timer (Watchdog_Control *watchdog)
 
void _POSIX_Threads_Sporadic_budget_callout (Thread_Control *the_thread)
 POSIX threads sporadic budget callout. More...
 
int _POSIX_Thread_Translate_to_sched_policy (Thread_CPU_budget_algorithms budget_algorithm)
 
int _POSIX_Thread_Translate_sched_param (int policy, const struct sched_param *param, Thread_CPU_budget_algorithms *budget_algorithm, Thread_CPU_budget_algorithm_callout *budget_callout)
 Translate sched_param into SuperCore terms. More...
 
RTEMS_INLINE_ROUTINE Thread_Control_POSIX_Threads_Allocate (void)
 
RTEMS_INLINE_ROUTINE void _POSIX_Threads_Free (Thread_Control *the_pthread)
 

Variables

const size_t _POSIX_Threads_Minimum_stack_size
 
const posix_initialization_threads_table _POSIX_Threads_User_thread_table
 Initialization table for the first user POSIX thread. More...
 
Thread_Information _POSIX_Threads_Information
 
const pthread_attr_t _POSIX_Threads_Default_attributes
 

Detailed Description

Private Support Information for POSIX Threads.

Macro Definition Documentation

◆ PTHREAD_MINIMUM_STACK_SIZE

#define PTHREAD_MINIMUM_STACK_SIZE   _POSIX_Threads_Minimum_stack_size

The following sets the minimum stack size for POSIX threads.

Function Documentation

◆ _POSIX_Thread_Translate_sched_param()

int _POSIX_Thread_Translate_sched_param ( int  policy,
const struct sched_param *  param,
Thread_CPU_budget_algorithms budget_algorithm,
Thread_CPU_budget_algorithm_callout budget_callout 
)

Translate sched_param into SuperCore terms.

This method translates the POSIX API sched_param into the corresponding SuperCore settings.

Parameters
[in]policyis the POSIX scheduling policy
[in]parampoints to the scheduling parameter structure
[in]budget_algorithmpoints to the output CPU Budget algorithm
[in]budget_calloutpoints to the output CPU Callout
Return values
0Indicates success.
error_codePOSIX error code indicating failure.

◆ _POSIX_Threads_Sporadic_budget_callout()

void _POSIX_Threads_Sporadic_budget_callout ( Thread_Control the_thread)

POSIX threads sporadic budget callout.

This routine handles the sporadic scheduling algorithm.

Parameters
[in]the_threadis a pointer to the thread whose budget has been exceeded.

Variable Documentation

◆ _POSIX_Threads_Default_attributes

const pthread_attr_t _POSIX_Threads_Default_attributes

This variable contains the default POSIX Thread attributes.

◆ _POSIX_Threads_Information

Thread_Information _POSIX_Threads_Information

The following defines the information control block used to manage this class of objects.

◆ _POSIX_Threads_User_thread_table

const posix_initialization_threads_table _POSIX_Threads_User_thread_table

Initialization table for the first user POSIX thread.

This table is used by _POSIX_Threads_Initialize_user_thread() and initialized via <rtems/confdefs.h>.