在多线程应用程序中,所有线程都会阻塞所有信号,并且单个线程使用sigwait
. 现在我们应该在其他线程中EINTR
使用系统调用后read
考虑吗?write
while (true)
{
num = read(fd, buf, size);
if (num == -1 && errno == EINTR)
continue;
else if (num > 0)
/* handle the buf and read more */
}