搜索
bottom↓
回复: 2

请教各位:signal_pending()之返回值-ERESTARTSYS的作用

[复制链接]

出0入0汤圆

发表于 2021-3-13 16:36:09 | 显示全部楼层 |阅读模式
看了网上对signal_pending()之返回值-ERESTARTSYS的解释,额,还是有点迷糊,因此特来请教各位,希望各位赐教,不胜感激!

1、以下是从网上找到的解释:


2、以下是我的理解+猜想:
正常的系统调用:
      ①用户程序
      ②软中断 ,陷入内核
      ③执行系统调用
夹杂着信号的系统调用:
      ①用户程序
      ②软中断,陷入内核
      ③产生信号,执行信号处理函数
      ④信号执行完成,返回用户态
      ⑤通过判断signal_pending()之返回值,发现系统调还未执行,接着再次进入内核态执行系统调用

3、我的问题:
      ①上述我的理解是否正确?
      ②我记得我之前在网上看到一个帖子,现在我找不到了,他表达的意思是:从内核态返回用户态的末尾才会“顺手”执行信号处理函数。这句话的意思正确嘛?
      ③如果网友的说法是正确的,那我就更迷糊了:既然都已经执行信号处理函数了,为什么在此之前不执行系统调用(这时正好还在内核态,否则还要重新进入内核态),何必多此一举呢?

感谢各位拉。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2021-3-16 09:01:42 | 显示全部楼层
希望大神前来指教

出0入4汤圆

发表于 2021-3-16 10:52:34 | 显示全部楼层
去买块开发板写些例程学的更快些,很多学术问题在开发中根本碰不到。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 -- 东莞阿莫电子网站 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2022-10-3 02:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表