0
這樣看來,從nanosleep()
在kernel/time/hrtimer.c
的來源和restart_syscall()
的聯機幫助,爲了使nanosleep()
與信號後,正確的超時重新啓動,這樣可以節省一些國家爲current_thread_info()->restart_block
,返回ERESTART_RESTARTBLOCK
並且信號在信號處理程序返回執行此操作後,傳遞代碼將安排restart_syscall()
被調用。但是:ERESTART_RESTARTBLOCK和restart_syscall混亂
- 對於一個系統調用,
current_thread_info()->restart_block
只有空間,那麼在遞歸信號的情況下會發生什麼? - 在調用信號處理程序之前,ARM和x86信號傳遞代碼會重置
current_thread_info()->restart_block
。 - ARM信號傳輸代碼不安排調用
restart_syscall()
,而是將返回碼設置爲-EINTR
。
我在這段代碼的目的或功能方面的錯誤在哪裏?