正确使用易失性sig_atomic_t

根据这个网站,可以在信号处理程序中使用types为volatile sig_atomic_tvariables。 现在我的问题是,例如像下面的代码仍然是primefaces,因此没有竞争条件?

假设我们正在使用多核处理器( 编辑 :运行multithreading程序)。 volatile sig_atomic_t是否甚至可以用于多核系统,或者我们是否应该使用C ++ 11的atomic<unsigned int>作为多核系统上的信号处理程序( 编辑 :运行multithreading程序)?

 volatile sig_atomic_t a; static void signal_handler(int sig, siginfo_t *si, void *unused) { int b; ................ b = ...; a = a | b; ................ } 

Solutions Collecting From Web of "正确使用易失性sig_atomic_t"