gpt4 book ai didi

c - 如果一个不可重入的 linux 函数(比如 select)没有完成执行会发生什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:07 25 4
gpt4 key购买 nike

我正在阅读 this question并了解到“选择”是不可重入的。那么如果我们在发送信号(例如 SIGKILL)时会发生什么。这是否意味着我们再也不能使用它了?

我正在尝试解决 this issue我正在阅读,虽然可能是因为这个。

最佳答案

如果在调用 select 的过程中传递信号,则 select 将返回 -1,并设置 errnoEINTR。这结束了对 select 的调用,您可以自由地再次调用 select

不能做的是在信号处理程序中调用select。因为在那种情况下,您将在第一个 select 返回之前调用 select。但是当然,在信号处理程序中调用 select 是没有意义的,所以无论如何您都不会这样做。

底线:如果信号处理得当,没有理由不能在信号后再次调用 select

关于c - 如果一个不可重入的 linux 函数(比如 select)没有完成执行会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42106683/

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