如果一个线程在一个断点,或者由于其他什么原因停止,此时另外的线程阻塞在一个系统调用。这个时候这个系统调用就有可能会过早的返回。因此我们在调用系统调用,最好都要检测它的返回值。

举个例子:

sleep (10);

这个我们应该改成这样:

int unslept = 10;
while (unslept > 0)
unslept = sleep (unslept);

sleep被打断的例子应该是,SIGALARM,因为本身sleep就是用SIGALARM实现的。

另外,sleep也会被SIGINT,也就是 Ctrl+C打断。

SIGTERM也就是kill 好像不会。

系统调用被信号打断的例子相关推荐

  1. linux 系统调用会被信号打断的

    在用 信号alarm的时候,定时1s,,,,主程序中select监听端口会被  信号打断的,, 注意:信号可以打断系统调用的

  2. 慢系统调用与信号中断

    http://blog.csdn.net/dianhuiren/article/details/7291540(博客不错) 早期的Unix系统,如果进程在一个'慢'系统调用中阻塞时,捕获到一个信号,这 ...

  3. 阻塞性系统调用失败,errno(ENTIR)4 [Interrupted system call]系统调用被信号中断

    1.阻塞与非阻塞 非阻塞:程序调用后,不管能不能立刻得到结果,当前进程都会直接返回.如果得到结果则返回成功,否则返回失败. 阻塞:程序调用后,如果不能立刻得到结果,则当前进程会被挂起,无限期等待,直到 ...

  4. Python GUI界面编程初步 05- GUI框架PyQt的运用 - 02 PyQt的信号和槽例子

    前言:本节讨论PyQt的事件event和信号signal的应用: 事件和信号是GUI和应用交互的两个重要的概念. 其中,事件用来驱动,信号和槽用来动态链接,这两个东西合并起来适用于各种组合的GUI的触 ...

  5. 阻塞和非阻塞、同步和异步 、五种IO模型

    阻塞和非阻塞,同步和异步 1 例子 故事:老王烧开水. 出场人物:老张,水壶两把(普通水壶,简称水壶:会响的水壶,简称响水壶). 老王想了想,有好几种等待方式 1.老王用水壶煮水,并且站在那里,不管水 ...

  6. Python3 与 C# 并发编程之~进程先导篇

    在线预览:http://github.lesschina.com/python/base/concurrency/1.并发编程-进程先导篇.html Python3 与 C# 并发编程之- 进程篇:h ...

  7. python网络编程项目_python网络编程详解

    最近在看<UNIX网络编程 卷1>和<FREEBSD操作系统设计与实现>这两本书,我重点关注了TCP协议相关的内容,结合自己后台开发的经验,写下这篇文章,一方面是为了帮助有需要 ...

  8. unet网络python代码详解_python网络编程详解

    最近在看<UNIX网络编程 卷1>和<FREEBSD操作系统设计与实现>这两本书,我重点关注了TCP协议相关的内容,结合自己后台开发的经验,写下这篇文章,一方面是为了帮助有需要 ...

  9. java suprious wakeup_多线程编程中条件变量和的spurious wakeup 虚假唤醒

    1. 概述 条件变量(condition variable)是利用共享的变量进行线程之间同步的一种机制.典型的场景包括生产者-消费者模型,线程池实现等. 对条件变量的使用包括两个动作: 1)线程等待某 ...

最新文章

  1. 怎样将英文html文件转换成中文乱码,解决html导出pdf中文乱码问题的正确姿势
  2. img标签使用默认图片的一种方式
  3. 部署必备之Docker
  4. python集合类型的四种操作符_python:集合【全用法】
  5. 深入互联网广告中的出价模式(中) — 智能出价模式
  6. jsf集成spring_JSF 2,PrimeFaces 3,Spring 3和Hibernate 4集成项目
  7. python 38day--CSS简介
  8. Qt创建多线程的两种方法
  9. 真正优秀的人是如何度过假期的
  10. 基于Visual C++2010与windows7 SDK开发传感器应用(触觉传感器,温度传感器等等)
  11. 小程序阿里云oss前端直传
  12. ERP项目基础概念整理
  13. Java - 批量生成二维码压缩包
  14. 我平时的一个学习方法
  15. Pomodoro方法
  16. 计算机音乐文爱图片,CG/贺敬轩《文爱》[FLAC/MP3-320K]
  17. SATA硬盘和U盘能否热插拨
  18. JSP页面调用log4j写日志文件
  19. 输入某年某月某日,判断这一天是这一年的第几天?(JS实现)
  20. Android如何获得Root权限来卸载程序?

热门文章

  1. 2018焦作网络赛 - Poor God Water 一道水题的教训
  2. React 使用browserHistory项目访问404问题
  3. 我的angularjs源码学习之旅1——初识angularjs
  4. 《第一行代码》学习笔记37-服务Service(4)
  5. CSS自学笔记(15):CSS3多列布局
  6. Python学习笔记之字典(一)
  7. 第一个 Web 程序
  8. 设计模式之不简单的工厂模式(二)
  9. (非)对称加密算法在https中的应用(加密过程以及CA颁发、验证)
  10. HashMap由浅入深(jdk8)