gdb 导致 sem_wait() 失败并出现 EINTR 错误
从 Ubuntu 切换到 CentOS 5.4 后,我们遇到了奇怪的 GDB 行为。在调试器中运行应用程序会导致 sem_wait()
返回数次 (5-10) 次并出现 EINTR
错误。
我安装了最新的GDB版本,但没有解决问题。 我想这是由 GDB 发送的一些信号引起的,但我无法在信号处理程序中获取任何信息。
在 sem_wait()
之后测试 errno
并恢复等待并不是什么大问题,我只是想知道是否有人对这种现象有解释。
After switching from Ubuntu to CentOS 5.4 we came across a strange GDB behavior. Running application in debugger causes sem_wait()
to return several (5-10) times with EINTR
error.
I installed the latest GDB version but it did not solve the problem.
I suppose this is cause by some signal sent by GDB but I could not get any info in signal handler.
Testing errno
after sem_wait()
and resuming waiting is not a big deal, I just wanted to know if anybody has an explanation for this phenomenon.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论