我在一个只能接受客户端进程连接的套接字上使用accept调用。然而,用信号SIGALRM的sigaction实现的信号处理程序被注册为可行的连接。我想我应该检查与选择或民意调查的连接,但我不知道如果这只是复杂。任何帮助,将不胜感激。接受受信号处理器干扰的呼叫
编辑:对不起,说这是一个连接。它似乎只是一个连接。我的代码有一个while循环,条件只要接受未评估为0即可运行。
更新:所以我刚发现我的问题。 sigaction标志是默认值。我将其更改为SA_RESTART并立即接受正常工作。我认为这与忽略原始I/O和返回EINTR有关,但我不完全确定这一点。有人知道吗?
信号处理程序如何成为一个“可行的连接”?这没有任何意义......连接由文件描述符表示,“accept”返回文件描述符,而信号处理程序不是文件描述符。 – immibis
这就是为什么我很困惑。出于某种原因,信号处理程序捕获信号时会进行连接。 –
您如何知道连接已建立? – immibis