gpt4 book ai didi

c - 使用 sigwait 时我们应该关心 EINTR 吗?

转载 作者:行者123 更新时间:2023-12-05 01:31:05 26 4
gpt4 key购买 nike

在多线程应用程序中,所有线程都会阻塞所有信号,并且单个线程在循环中使用 sigwait 进行信号处理。 .现在我们应该考虑 EINTR使用系统调用后,如 readwrite在其他线程?

while (true)
{
num = read(fd, buf, size);
if (num == -1 && errno == EINTR)
continue;
else if (num > 0)
/* handle the buf and read more */
}

最佳答案

EINTR仅当系统调用被信号处理程序中断时才返回。如果所有信号都在进行系统调用的线程的信号掩码中被阻塞,那么这种情况就不会发生。

关于c - 使用 sigwait 时我们应该关心 EINTR 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11964913/

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