Tag: sig atomic t

在信号处理的上下文中,究竟哪些变量需要是sig_atomic_t?

这是一个使用volatile sig_atomic_t的简单玩具程序。 #include #include #include #include #define UNUSED(x) (void) (x) volatile sig_atomic_t quit; void sigusr1_handler(int sig) { UNUSED(sig); write(1, “handler\n”, 8); quit = 1; } int main() { struct sigaction sa; sa.sa_handler = sigusr1_handler; sa.sa_flags = 0; sigemptyset(&sa.sa_mask); if (sigaction(SIGUSR1, &sa, NULL) == -1) { perror(“sigaction”); return 1; } quit = 0; while (!quit) ; […]