Or should we [detect](http://en.cppreference.com/w/cpp/atomic/atomic_is_lock_free) this during compile time? ``` volatile static std::sig_atomic_t raised_signal = 0; static std::atomic< std::sig_atomic_t > raised_signal( 0 ); ``` **Further Reading** - [PThread Sigmask](http://man7.org/linux/man-pages/man3/pthread_sigmask.3.html). - [Example of Handling Signals in Multi-threaded Process](http://stackoverflow.com/questions/23225211/example-of-handling-signals-in-multi-threaded-process).