📄 psignal.h
字号:
/* * $Id: psignal.h,v 1.9 1999/11/02 18:00:13 joel Exp $ */#ifndef __RTEMS_POSIX_SIGNALS_h#define __RTEMS_POSIX_SIGNALS_h#include <rtems/posix/pthread.h>/* * Currently 32 signals numbered 1-32 are defined */#define SIGNAL_EMPTY_MASK 0x00000000#define SIGNAL_ALL_MASK 0xffffffff#define signo_to_mask( _sig ) (1 << ((_sig) - 1))#define is_valid_signo( _sig ) \ ((_sig) >= 1 && (_sig) <= 32 )#define _States_Is_interruptible_signal( _states ) \ ( ((_states) & \ (STATES_WAITING_FOR_SIGNAL|STATES_INTERRUPTIBLE_BY_SIGNAL)) == \ (STATES_WAITING_FOR_SIGNAL|STATES_INTERRUPTIBLE_BY_SIGNAL))#define SIGACTION_TERMINATE \ { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Abnormal_termination_handler} }#define SIGACTION_IGNORE \ { 0, SIGNAL_ALL_MASK, {SIG_IGN} }#define SIGACTION_STOP \ { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Stop_handler} }#define SIGACTION_CONTINUE \ { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Continue_handler} }#define SIG_ARRAY_MAX (SIGRTMAX + 1)/* * Variables */extern sigset_t _POSIX_signals_Pending;extern struct sigaction _POSIX_signals_Default_vectors[ SIG_ARRAY_MAX ];extern struct sigaction _POSIX_signals_Vectors[ SIG_ARRAY_MAX ];extern Watchdog_Control _POSIX_signals_Alarm_timer;extern Thread_queue_Control _POSIX_signals_Wait_queue;extern Chain_Control _POSIX_signals_Inactive_siginfo;extern Chain_Control _POSIX_signals_Siginfo[ SIG_ARRAY_MAX ];/* * POSIX internal siginfo structure */typedef struct { Chain_Node Node; siginfo_t Info;} POSIX_signals_Siginfo_node;/* * Internal routines */void _POSIX_signals_Manager_Initialization( int maximum_queued_signals);void _POSIX_signals_Post_switch_extension( Thread_Control *the_thread);boolean _POSIX_signals_Unblock_thread( Thread_Control *the_thread, int signo, siginfo_t *info);boolean _POSIX_signals_Check_signal( POSIX_API_Control *api, int signo, boolean is_global);boolean _POSIX_signals_Clear_signals( POSIX_API_Control *api, int signo, siginfo_t *info, boolean is_global, boolean check_blocked);int killinfo( pid_t pid, int sig, const union sigval *value);void _POSIX_signals_Set_process_signals( sigset_t mask);void _POSIX_signals_Clear_process_signals( sigset_t mask);/* * Default signal handlers */#define _POSIX_signals_Stop_handler NULL#define _POSIX_signals_Continue_handler NULLvoid _POSIX_signals_Abnormal_termination_handler( int signo );#endif/* end of file */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -