繁体   English   中英

确定哪个信号导致EINTR?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM