這可能是一個愚蠢的問題,但在 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”)。
我想我什至不確定應該在哪里找到最終檔案(對于這種環境)。
uj5u.com熱心網友回復:
sysinfo只是瘦系統呼叫包裝器和異步信號安全:
00000000000feb00 <sysinfo@@GLIBC_2.2.5>:
feb00: mov $0x63,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/430582.html
