40#ifndef _RTEMS_POSIX_BARRIERIMPL_H
41#define _RTEMS_POSIX_BARRIERIMPL_H
53#define POSIX_BARRIER_MAGIC 0x1cf03773UL
55#define POSIX_BARRIER_TQ_OPERATIONS &_Thread_queue_Operations_FIFO
61 unsigned int waiting_threads;
65 pthread_barrier_t *_barrier
79 _Thread_queue_Context_initialize( queue_context );
80 _Thread_queue_Context_ISR_disable( queue_context, level );
81 _Thread_queue_Context_set_ISR_level( queue_context, level );
82 executing = _Thread_Executing;
83 _Thread_queue_Queue_acquire_critical(
84 &barrier->Queue.Queue,
85 &executing->Potpourri_stats,
92static inline void _POSIX_Barrier_Queue_release(
97 _Thread_queue_Queue_release(
98 &barrier->Queue.Queue,
103#define POSIX_BARRIER_VALIDATE_OBJECT( bar ) \
107 || ( (uintptr_t) ( bar ) ^ POSIX_BARRIER_MAGIC ) != ( bar )->_flags \
uint32_t ISR_Level
Definition: isrlevel.h:60
POSIX Threads Private Support.
This header file provides the interfaces of the Per-CPU Information.
Definition: barrierimpl.h:57
Thread queue context for the thread queue methods.
Definition: threadq.h:216
Thread_queue_Lock_context Lock_context
The lock context for the thread queue acquire and release operations.
Definition: threadq.h:221
ISR_lock_Context Lock_context
The lock context for the thread queue acquire and release operations.
Definition: threadq.h:148
Thread queue with a layout compatible to struct _Thread_queue_Queue defined in Newlib <sys/lock....
Definition: threadqimpl.h:71
This header file provides interfaces of the Thread Queue Handler which are only used by the implement...