1
有人能告訴我什麼可能是來自Signal Handler的調用系統調用(SYS_gettid)的不利影響? 我知道它不在安全函數列表中被從信號處理程序調用,但我想知道它背後的原因?如果我從信號處理程序調用系統調用(SYS_gettid)會產生什麼影響?
有人能告訴我什麼可能是來自Signal Handler的調用系統調用(SYS_gettid)的不利影響? 我知道它不在安全函數列表中被從信號處理程序調用,但我想知道它背後的原因?如果我從信號處理程序調用系統調用(SYS_gettid)會產生什麼影響?
我很確定這與Signal Handler方法是可重入的有關。假設發送了一個信號,並且您的處理程序抓取信號並開始處理。在處理過程中,另一個信號可能由併發程序發送,然後您的處理程序再次捕獲該信號,並開始處理它。
根據調度的實施方式,信號處理程序在執行時可能會執行。問題是它使用了相同的指針和變量,所以它可能會破壞自己,特別是因爲gettid()返回當前線程的ID。當前線程在這種情況下是什麼?