24static __crt_state_management::dual_state_global<__crt_signal_handler_t>
ctrlc_action;
25static __crt_state_management::dual_state_global<__crt_signal_handler_t>
ctrlbreak_action;
26static __crt_state_management::dual_state_global<__crt_signal_handler_t>
abort_action;
27static __crt_state_management::dual_state_global<__crt_signal_handler_t>
term_action;
35#define _SIGHUP_IGNORE 1
36#define _SIGQUIT_IGNORE 3
37#define _SIGPIPE_IGNORE 13
38#define _SIGIOINT_IGNORE 16
39#define _SIGSTOP_IGNORE 17
87 if (
p->_signal_number == signum)
115#ifdef _UCRT_ENCLAVE_BUILD
178 ctrl_action = __crt_fast_decode_pointer(*pctrl_action);
184 ctrl_action = __crt_fast_decode_pointer(*pctrl_action);
191 *pctrl_action = __crt_fast_encode_pointer(
nullptr);
207 (*ctrl_action)(signal_code);
302 bool set_console_ctrl_error =
false;
311#pragma warning( suppress: 4127 )
321 set_console_ctrl_error =
true;
326 if (action_pointer !=
nullptr)
328 old_action = __crt_fast_decode_pointer(*action_pointer);
330 *action_pointer = __crt_fast_encode_pointer(sigact);
339 if (set_console_ctrl_error)
362 if (
ptd->_pxcptacttab ==
nullptr)
374 if (xcpt_action ==
nullptr)
431 bool action_is_global =
true;
452 action_pointer = &local_action->
_action;
453 action_is_global =
false;
465 if (action_is_global)
469 bool return0 =
false;
473 action = action_is_global ? __crt_fast_decode_pointer(*action_pointer) : *action_pointer;
487 if (action_is_global)
497 old_pxcptinfoptrs =
ptd->_tpxcptinfoptrs;
498 ptd->_tpxcptinfoptrs =
nullptr;
522 *action_pointer = __crt_fast_encode_pointer(
nullptr);
527 if (action_is_global)
552 ptd->_tpxcptinfoptrs = old_pxcptinfoptrs;
__acrt_ptd *__cdecl __acrt_getptd(void)
void __cdecl __acrt_unlock(_In_ __acrt_lock_id lock)
size_t const __acrt_signal_action_first_fpe_index
void(__cdecl * __crt_signal_handler_t)(int)
size_t const __acrt_signal_action_fpe_count
struct __crt_signal_action_t const __acrt_exception_action_table[]
size_t const __acrt_signal_action_table_count
__acrt_ptd *__cdecl __acrt_getptd_noexit(void)
size_t const __acrt_signal_action_table_size
#define _VALIDATE_RETURN(expr, errorcode, retexpr)
_In_ size_t const _In_ int _In_ bool const _In_ unsigned const _In_ __acrt_rounding_mode const _Inout_ __crt_cached_ptd_host & ptd
__acrt_lock(__acrt_heap_lock)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine, BOOL Add)
#define memcpy(s1, s2, n)
void **__cdecl __pxcptinfoptrs()
static bool console_ctrl_handler_installed
static __crt_state_management::dual_state_global< __crt_signal_handler_t > term_action
static __crt_state_management::dual_state_global< __crt_signal_handler_t > ctrlbreak_action
__crt_signal_handler_t __cdecl __acrt_get_sigabrt_handler()
static __crt_signal_handler_t __cdecl signal_failed(int const signum)
static __inline BOOL is_unsupported_signal(int const, __crt_signal_handler_t const sigact)
static __crt_state_management::dual_state_global< __crt_signal_handler_t > ctrlc_action
static BOOL WINAPI ctrlevent_capture(DWORD const ctrl_type)
void __cdecl __acrt_initialize_signal_handlers(void *const encoded_nullptr)
static __inline BOOL is_console_signal(int const signum)
int __cdecl raise(int const signum)
static __crt_signal_action_t *__cdecl siglookup(int const signum, __crt_signal_action_t *const action_table)
static __crt_state_management::dual_state_global< __crt_signal_handler_t > abort_action
static __crt_signal_handler_t *__cdecl get_global_action_nolock(int const signum)
EXCEPTION_POINTERS * _tpxcptinfoptrs
__crt_signal_handler_t _action
DWORD WINAPI GetLastError(void)