程序接收信号SIGIO

问题描述 投票:0回答:1

我在我的 NGINX 中看到以下错误

error.log
:

[通知]12451#0:收到信号29(SIGIO)

我想知道程序在什么情况下会收到

SIGIO

linux nginx signals
1个回答
2
投票

对于异步信令代码应该执行以下步骤。

首先你应该允许你的进程接收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_SETOWNFASYNCO_NONBLOCK

© www.soinside.com 2019 - 2024. All rights reserved.