diff options
Diffstat (limited to 'cpukit/score/include/rtems')
-rw-r--r-- | cpukit/score/include/rtems/score/percpu.h | 7 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/thread.h | 7 | ||||
-rw-r--r-- | cpukit/score/include/rtems/sysinit.h | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/cpukit/score/include/rtems/score/percpu.h b/cpukit/score/include/rtems/score/percpu.h index 806c290b7c..4ad530f7d7 100644 --- a/cpukit/score/include/rtems/score/percpu.h +++ b/cpukit/score/include/rtems/score/percpu.h @@ -516,6 +516,13 @@ static inline uint32_t _Per_CPU_Get_index( const Per_CPU_Control *cpu ) return ( uint32_t ) ( per_cpu_envelope - &_Per_CPU_Information[ 0 ] ); } +static inline struct _Thread_Control *_Per_CPU_Get_executing( + const Per_CPU_Control *cpu +) +{ + return cpu->executing; +} + static inline bool _Per_CPU_Is_processor_started( const Per_CPU_Control *cpu ) diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index f4d76d8725..69caef1095 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -39,6 +39,8 @@ #include <rtems/score/cpuset.h> #endif +struct _pthread_cleanup_context; + struct Per_CPU_Control; struct Scheduler_Control; @@ -851,6 +853,11 @@ struct _Thread_Control { Thread_Capture_control Capture; /** + * @brief LIFO list of POSIX cleanup contexts. + */ + struct _pthread_cleanup_context *last_cleanup_context; + + /** * @brief Variable length array of user extension pointers. * * The length is defined by the application via <rtems/confdefs.h>. diff --git a/cpukit/score/include/rtems/sysinit.h b/cpukit/score/include/rtems/sysinit.h index 1da3b309ac..dcd0e18092 100644 --- a/cpukit/score/include/rtems/sysinit.h +++ b/cpukit/score/include/rtems/sysinit.h @@ -44,6 +44,7 @@ extern "C" { #define RTEMS_SYSINIT_CLASSIC_BARRIER 00034a #define RTEMS_SYSINIT_POSIX_SIGNALS 000360 #define RTEMS_SYSINIT_POSIX_THREADS 000361 +#define RTEMS_SYSINIT_POSIX_CLEANUP 00036a #define RTEMS_SYSINIT_IDLE_THREADS 000380 #define RTEMS_SYSINIT_BSP_LIBC 000400 #define RTEMS_SYSINIT_BEFORE_DRIVERS 000500 |