这可能是一个愚蠢的问题,但在 Linux(RHEL 7/8)中是 sysinfo() (从 gcc 'C' 调用)异步。信号安全吗?
也就是说,可以从“C”信号处理程序安全地调用它吗?
从命令行运行 'man sysinfo' 或 'info sysinfo' 似乎没有提到任何一种方式。
我正在寻找一种“快速”的方式来获取经过的时间(来自信号处理程序或“正常”上下文)。
Posix ('man signal-safety') 似乎说 clock_gettime() 是信号安全的,尽管我已经看到 glibc 和 Posix 文档似乎并不总是同意什么是信号安全,什么不是。至少对于我正在寻找的地方。
例如,在https://pubs.opengroup.org/onlinepubs/9699919799/中,“sleep()”在“信号概念”下被列为信号安全,其中显示了 POSIX 信号安全函数列表。(并且也在 RHEL 8.5 的“man signal-safety”下运行)。
但是“信息睡眠”(来自 RHEL 8.5)将 sleep() 显示为“AS-不安全”。(以及我认为与 glibc 的安装级别相匹配的文档“GNU C 库参考手册 2.28”)。
我想我什至不确定应该在哪里找到最终文档(对于这种环境)。