[英]Determine which signal caused EINTR?
我正在运行epoll循环,有时我对epoll_wait的调用返回-1,并将errno设置为EINTR。 有时候,我想让它结束epoll循环,就像SIGTERM或SIGINT一样。 但是我用-pg标志编译了这个代码,因此会产生周期性的SIGPROF(27)信号,从而阻止我的循环。
所以...是否可以打开signum以便我可以确定何时退出而不是继续? 我想避免使用全局跟踪最近发出的信号的任何事情。
在SIGTERM和SIGINT上添加信号处理程序。 在这些处理程序中,您可以设置一个在主epoll循环中检查的变量
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.