19 #ifndef _RTEMS_SCORE_CORERWLOCKIMPL_H 20 #define _RTEMS_SCORE_CORERWLOCKIMPL_H 23 #include <rtems/score/status.h> 41 #define CORE_RWLOCK_TQ_OPERATIONS &_Thread_queue_Operations_FIFO 47 #define CORE_RWLOCK_THREAD_WAITING_FOR_READ 0 53 #define CORE_RWLOCK_THREAD_WAITING_FOR_WRITE 1 115 _Thread_queue_Context_ISR_disable( queue_context, level );
116 _Thread_queue_Context_set_ISR_level( queue_context, level );
117 executing = _Thread_Executing;
118 _Thread_queue_Queue_acquire_critical(
119 &the_rwlock->
Queue.Queue,
120 &executing->Potpourri_stats,
132 _Thread_queue_Queue_release(
133 &the_rwlock->
Queue.Queue,
Definition: corerwlockimpl.h:74
Status_Control _CORE_RWLock_Seize_for_reading(CORE_RWLock_Control *the_rwlock, bool wait, Thread_queue_Context *queue_context)
Obtain RWLock for reading.
Definition: corerwlockobtainread.c:27
Thread queue context for the thread queue methods.
Definition: threadq.h:193
unsigned int number_of_readers
Definition: corerwlockimpl.h:86
Definition: corerwlockimpl.h:61
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:65
CORE_RWLock_States current_state
Definition: corerwlockimpl.h:82
Thread_queue_Syslock_queue Queue
Definition: corerwlockimpl.h:78
Status_Control _CORE_RWLock_Surrender(CORE_RWLock_Control *the_rwlock)
Release the RWLock.
Definition: corerwlockrelease.c:76
uint32_t ISR_Level
Definition: isrlevel.h:38
Thread queue with a layout compatible to struct _Thread_queue_Queue defined in Newlib <sys/lock...
Definition: threadqimpl.h:51
Thread_queue_Lock_context Lock_context
The lock context for the thread queue acquire and release operations.
Definition: threadq.h:198
Constants and Structures Associated with Watchdog Timers.
Status_Control _CORE_RWLock_Seize_for_writing(CORE_RWLock_Control *the_rwlock, bool wait, Thread_queue_Context *queue_context)
Obtain RWLock for writing.
Definition: corerwlockobtainwrite.c:27
CORE_RWLock_States
Definition: corerwlockimpl.h:58
void _CORE_RWLock_Initialize(CORE_RWLock_Control *the_rwlock)
Initialize a RWlock.
Definition: corerwlock.c:24
ISR_lock_Context Lock_context
The lock context for the thread queue acquire and release operations.
Definition: threadq.h:125
Definition: corerwlockimpl.h:64
Definition: corerwlockimpl.h:67
Constants and Structures Related with the Thread Control Block.