我在我的 NGINX 中看到以下错误
error.log
:
[通知]12451#0:收到信号29(SIGIO)
我想知道程序在什么情况下会收到
SIGIO
?
对于异步信令代码应该执行以下步骤。
首先你应该允许你的进程接收SIGIO,然后 您的套接字或管道应置于异步模式。
在代码中搜索这些行
//allow the process to receive SIGIO
fcntl(fd, F_SETOWN, getpid());
和
//Make socket/pipe non-blocking
fcntl(fd, F_SETFL, FASYNC);
或
//Make socket/pipe non-blocking
fcntl(fd, F_SETFL, O_NONBLOCK);
要搜索的关键字有:F_SETOWN、FASYNC 和 O_NONBLOCK