请问各位什么情况下会导致某个线程调用sleep以后就一直在sleep状态,不再被唤醒?
一份算是成熟的代码中最近出现了一个sleep(1)一直睡死的情况,各位知道这种睡死在什么情况下会发生吗?之前这份代码已经稳定运行了好几年,最近在局方出现了死锁的bug,最后跟进去发现是sleep睡死了。
内核是Linux 2.6.33版本。
chenqi@pek-qchen1-d1:~/Test/shell$ echo -e '#!/bin/shnread _not_usednecho finishedn' > need-enter.sh
chenqi@pek-qchen1-d1:~/Test/shell$ ./need-enter.sh
^C
chenqi@pek-qchen1-d1:~/Test/shell$ yes "" | ./need-enter.sh
finished
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。