我正在使用SIGIO编程UDP非阻塞套接字,以从接收缓冲区读取字节。在当前设置中,我有一个客户端向服务器发送定期消息,两次发送之间有5秒的延迟。但是,在代码中有一点我必须设置默认的SIG_DFL(或SIG_IGN)以忽略/取消SIGIO上的未决信号,并在以后重新启用它们。但是,我正在寻找的是一种signalisset
或signalisignore
函数,该函数返回int
0或1以表示信号是否被忽略。我尝试使用raise(SIGIO)
自己实现它,然后检查全局volatile
变量是否更改了值,但是没有用。
谢谢!