twi*_*imo 9 linux io sleep process linux-kernel
它背后的理由是什么?如果允许进行I/O的进程处理信号会有什么不良后果?
wal*_*lyk 3
根据Linux开发者文档,这是为了防止数据丢失并避免硬件进入不一致状态。
想象一下,如果 a read()(例如来自磁盘)可中断,并且信号处理程序(除其他职责外)更改了读取缓冲区,会发生什么情况。由于信号是异步的,因此读取结果将不可再现。如果写作被中断,类似的混乱也会随之发生。
read()
归档时间:
12 年,9 月 前
查看次数:
1418 次
最近记录:
11 年,10 月 前