EINTR is the errno which is set when a system call has been interrupted. It means that there was no error, but the system call did not complete, and you need to try it again.
Code:
//try
//{
if (a) do { f( b); } while(1);
else do { f(!b); } while(1);
//}