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