gpt4 book ai didi

signals - 阻塞函数和 EINTR

转载 作者:行者123 更新时间:2023-12-02 14:30:45 27 4
gpt4 key购买 nike

许多 POSIX 阻塞函数在有信号的情况下返回 EINTR。这个想法是信号处理程序首先设置一个标志(在 SIGINT 的情况下说“停止”标志),然后阻塞函数取消阻塞返回 EINTR,并且应用程序看到该标志并执行有序关闭(或其他)。

但是,某些阻塞函数(例如 pthread_mutex_lock 和 pthread_cond_wait)不会出现 EINTR 错误。

这背后的想法是什么?使用这些函数的应用程序应该如何处理信号(特别是 Ctrl+C)?

最佳答案

没有答案。我的假设是 pthread_cond_wait() 和 SIGINT 不能组合起来执行干净关闭。使用 sem_wait() 或类似函数代替 pthread_cond_wait()。

关于signals - 阻塞函数和 EINTR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13128538/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com