37#ifndef _RTEMS_POSIX_PSIGNALIMPL_H
38#define _RTEMS_POSIX_PSIGNALIMPL_H
57#define POSIX_SIGNALS_TQ_OPERATIONS &_Thread_queue_Operations_FIFO
59#define _States_Is_interruptible_signal( _states ) \
61 (STATES_WAITING_FOR_SIGNAL|STATES_INTERRUPTIBLE_BY_SIGNAL)) == \
62 (STATES_WAITING_FOR_SIGNAL|STATES_INTERRUPTIBLE_BY_SIGNAL))
64#define SIGACTION_TERMINATE \
65 { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Abnormal_termination_handler} }
66#define SIGACTION_IGNORE \
67 { 0, SIGNAL_ALL_MASK, {SIG_IGN} }
68#define SIGACTION_STOP \
69 { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Stop_handler} }
70#define SIGACTION_CONTINUE \
71 { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Continue_handler} }
73#define SIG_ARRAY_MAX (SIGRTMAX + 1)
79extern sigset_t _POSIX_signals_Pending;
81extern const struct sigaction _POSIX_signals_Default_vectors[ SIG_ARRAY_MAX ];
83extern struct sigaction _POSIX_signals_Vectors[ SIG_ARRAY_MAX ];
95static inline void _POSIX_signals_Acquire(
99 _Thread_queue_Acquire( &_POSIX_signals_Wait_queue, queue_context );
102static inline void _POSIX_signals_Release(
106 _Thread_queue_Release( &_POSIX_signals_Wait_queue, queue_context );
122 POSIX_API_Control *api,
127 bool do_signals_acquire_release
130int _POSIX_signals_Send(
133 const union sigval *value
143void _POSIX_signals_Clear_process_signals(
151#define _POSIX_signals_Stop_handler NULL
152#define _POSIX_signals_Continue_handler NULL
154void _POSIX_signals_Abnormal_termination_handler(
int signo );
bool _POSIX_signals_Unblock_thread(Thread_Control *the_thread, int signo, siginfo_t *info)
Unlock POSIX signals thread.
Definition: psignalunblockthread.c:196
void _POSIX_signals_Set_process_signals(sigset_t mask)
Set POSIX process signals.
Definition: psignalsetprocesssignals.c:51
bool _POSIX_signals_Clear_signals(POSIX_API_Control *api, int signo, siginfo_t *info, bool is_global, bool check_blocked, bool do_signals_acquire_release)
Clear POSIX signals.
Definition: psignalclearsignals.c:56
This header file provides the interfaces of the ISR Locks.
Internal Information about POSIX Signals.
POSIX Threads Private Support.
This header file provides the interfaces of the Per-CPU Information.
POSIX Signal Sets Management Helper.
Thread queue context for the thread queue methods.
Definition: threadq.h:216
Definition: threadq.h:609
This header file provides interfaces of the Thread Queue Handler which are only used by the implement...
This union represents a chain control block.
Definition: chain.h:96