マルチ スレッド アプリケーションでは、すべてのスレッドがすべてのシグナルをブロックし、1 つのスレッドが を使用してループ内でシグナル処理を行い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 */
}