sigwait

sigwait がエラーを返す事は無いって http://www.linux.or.jp/JM/html/glibc-linuxthreads/man3/sigwait.3.html に書いてあるんだけど、std::system() を呼ぶと EINTR を返すね。
シグナルハンドラを使わないでシグナルをハンドルする - memologue の解説(非常にためになるページで感謝)だと、"処理系によっては EINTR" を返すとあるので、そうなんだろう。