std::sig_atomic_t

From cppreference.com
< cpplrm; | utilitylrm; | program
Program support utilities
Program termination
(C++11)
(C++11)
Communicating with the environment
Signals
sig_atomic_t
Signal types
Non-local jumps
Types
Defined in header <csignal>
typedef /* unspecified */ sig_atomic_t;

An integer type which can be accessed as an atomic entity even in the presence of asynchronous interrupts made by signals.

Notes

Until C++11, which introduced std::atomic and std::atomic_signal_fence, about the only thing a strictly conforming program could do in a signal handler was to assign a value to a volatile static std::sig_atomic_t variable and promptly return.

See also

sets a signal handler for particular signal
(function)
fence between a thread and a signal handler executed in the same thread
(function)