+ else if (res.rc==-1) {
+ // an EINTR or EAGAIN signal was delivered but the timeout not set or
+ // not reached yet
+
+ // we are here, when args->timeout==0 or 'now' was initialized (and
+ // compared with 'end_time'). So, 'now' can be used below.
+ assert(args->timeout<=0 || (now < end_time));
+
+ if (args->timeout>0) // (re)set the alarm-clock
+ alarm(end_time-now);
+
+ continue;
+ }