22 #include <rtems/sysinit.h> 47 pending_events =
event->pending_events;
52 event->pending_events =
55 *event_out = seized_events;
61 *event_out = seized_events;
101 return _Status_Get_after_wait( executing );
104 #if defined(RTEMS_MULTIPROCESSING) 105 static void _Event_MP_Initialize(
void )
107 _MPCI_Register_packet_processor( MP_PACKET_EVENT, _Event_MP_Process_packet );
111 _Event_MP_Initialize,
112 RTEMS_SYSINIT_CLASSIC_EVENT_MP,
113 RTEMS_SYSINIT_ORDER_MIDDLE
static __inline__ void _Thread_Unblock(Thread_Control *the_thread)
Unblocks the thread.
static __inline__ void _Thread_Add_timeout_ticks(Thread_Control *the_thread, Per_CPU_Control *cpu, Watchdog_Interval ticks)
Adds timeout ticks to the thread.
Thread_Wait_information Wait
void _Thread_Dispatch_direct(Per_CPU_Control *cpu_self)
Directly do a thread dispatch.
Inlined Routines in the Watchdog Handler.
uint32_t rtems_option
This type is used to represent an option set.
This status code indicates that the request was not satisfied.
static __inline__ bool _Thread_Wait_flags_try_change_acquire(Thread_Control *the_thread, Thread_Wait_flags expected_flags, Thread_Wait_flags desired_flags)
Tries to change the thread wait flags with acquire semantics.
RTEMS_INLINE_ROUTINE bool _Options_Is_any(rtems_option option_set)
Checks if the RTEMS_EVENT_ANY option is enabled in OPTION_SET.
Classic Options Implementation.
RTEMS_INLINE_ROUTINE bool _Options_Is_no_wait(rtems_option option_set)
Checks if the RTEMS_NO_WAIT option is enabled in option_set.
Classic Event Manager Implementation.
This status code indicates successful completion.
static __inline__ Per_CPU_Control * _Thread_Dispatch_disable_critical(const ISR_lock_Context *lock_context)
Disables thread dispatching inside a critical section (interrupts disabled).
static __inline__ void _Thread_Wait_flags_set(Thread_Control *the_thread, Thread_Wait_flags flags)
Sets the thread's wait flags.
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
unsigned int Thread_Wait_flags
This type is able to contain several flags used to control the wait class and state of a thread...
static __inline__ void _Thread_Timer_remove(Thread_Control *the_thread)
Remove the watchdog timer from the thread.
Classic Status Implementation.
static __inline__ rtems_event_set _Event_sets_Get(rtems_event_set the_event_set, rtems_event_set the_event_condition)
Returns the events in event_condition that are set in event_set.
#define THREAD_WAIT_STATE_BLOCKED
Indicates that the thread completed the blocking operation.
States_Control _Thread_Set_state(Thread_Control *the_thread, States_Control state)
Sets the specified thread state.
static __inline__ rtems_event_set _Event_sets_Clear(rtems_event_set the_event_set, rtems_event_set the_mask)
Removes the events in mask from the event_set passed in.
Watchdog_Interval rtems_interval
This type is used to represent clock tick intervals.
static __inline__ bool _Event_sets_Is_empty(rtems_event_set the_event_set)
Checks if on events are posted in the event_set.
Inlined Routines from the Thread Handler.
Local ISR lock context for acquire and release pairs.
uint32_t rtems_event_set
This integer type can hold an event set of up to 32 events represented as a bit field.
#define THREAD_WAIT_STATE_INTEND_TO_BLOCK
Indicates that the thread begins with the blocking operation.
static __inline__ void _Thread_Wait_release_default(Thread_Control *the_thread, ISR_lock_Context *lock_context)
Releases the thread wait default lock and restores the previous interrupt status. ...