确定哪个信号导致EINTR?

时间:2013-11-11 15:36:08

标签: c++ c signals epoll gperf

我正在运行epoll循环,有时我对epoll_wait的调用返回-1,并将errno设置为EINTR。有时候,我想让它结束epoll循环,就像SIGTERM或SIGINT一样。但是我用-pg标志编译了这个代码,因此会产生周期性的SIGPROF(27)信号,从而阻止我的循环。

所以...是否可以打开signum以便我可以确定何时退出而不是继续?我想避免使用全局来跟踪最近发出的信号。

1 个答案:

答案 0 :(得分:1)

在SIGTERM和SIGINT上添加信号处理程序。在这些处理程序中,您可以设置一个在主epoll循环中检查的变量

相关问题