【问题标题】:In LINUX C/C++, which system calls are interruptable (i.e. errno == EINTR)?在 LINUX C/C++ 中,哪些系统调用是可中断的(即 errno == EINTR)?
【发布时间】:2012-03-23 06:18:45
【问题描述】:

有谁知道列出哪些呼叫是可中断的很好的参考资料?

我假设几乎所有系统调用都是以前的,但是查看文件系统调用的手册页,如 openrename,错误列表不包括EINTR.

【问题讨论】:

  • Bottom of page,对你来说重要的是从不重新启动的函数列表,以及读取/打开/等待等的条件。 not 在之前的段落中重新开始。否则,您将不知道信号已发生(因此不在乎)。
  • 没错,但在我的情况下,我正在阻止重新启动。谢谢,我的那个手册页版本没有列表。

标签: c linux signals system-calls


【解决方案1】:

更新后的 signal(7) 手册页有答案。我在 RHEL 5.5 中使用的那个没有。链接如下。

http://www.kernel.org/doc/man-pages/online/pages/man7/signal.7.html

感谢 Damon 的快速解答!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-30
    • 2016-09-07
    • 2014-11-01
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多