第十五章 创建Callout Library - 处理 UNIX 信号处理错误
处理 UNIX
信号处理错误
在 UNIX
及相关操作系统下运行时,如果进程收到信号,某些系统调用可能会失败,最常见的是打开、读取、写入、关闭、ioctl
和暂停。如果函数使用任何这些系统调用,代码必须能够区分真正的错误、Ctrl-C
和应重新启动的调用。
以下函数允许检查异步事件并在 $ZF
中设置新的警报处理程序。函数声明包含在 iris-cdzf.h
中:
sigrtclr()
int sigrtclr();
— 清除重试标志。应在使用 sigrtchk() 之前调用一次。
dzfalarm()
int dzfalarm();
— 建立新的 `SIGALRM 处理程序。
进入 $ZF
时,会自动保存先前的处理程序。退出时会自动恢复。用户程序不应改变任何其他信号的处理。