std::sig_atomic_t (3) - Linux Manuals
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.
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.
atomic_signal_fence fence between a thread and a signal handler executed in the same thread