linux学习阙疑

编程入门 行业动态 更新时间:2024-10-23 11:22:47

<a href=https://www.elefans.com/category/jswz/34/1770067.html style=linux学习阙疑"/>

linux学习阙疑

早期UNIX系统的一个特性是:如果进程在执行一个低速系统调用而阻塞期间捕捉到一个信号,则该系统调用就被
中断不再继续执行。该系统调用返回出错,其errno设置为EINTR。这样处理是因为一个信号发生了,进程捕捉
到它,这意味着已经发生了某种事情,所以是个好机会应当唤醒阻塞的系统调用。

前面一句说当捕捉到一个信号时系统调用被中断不再继续执行,后面为什么又说是一个好机会应当唤醒阻塞的系统调用?

之前我对于"唤醒阻塞的系统调用"理解有问题.我以为所谓的被唤醒指的是该系统调用从阻塞状态变为正常执行状态.

当一个系统调用被阻塞时,如果中断到来,转到中断处理函数中执行,执行完之后,该系统调用继续阻塞呢还是出错返回呢?

如果继续阻塞,那么该阻塞状态并没有被唤醒,如果出错返回,则它已经退出了阻塞状态.出错返回也是被唤醒的一种形式.

 

 

更多推荐

linux学习阙疑

本文发布于:2024-02-26 22:13:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1704147.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!