This failure to update the current time in some cases may have contributed
to false complaints about long poll delays, since this could leave up to
100 ms of time blocked in the poll system call accounted to the next
inter-poll interval instead of to the poll system call itself.
This commit makes vswitch's claimed average poll interval to drop by a
large amount, from ~20 ms to ~2 ms.
if (retval < 0) {
retval = -errno;
}
+ time_refresh();
if (retval != -EINTR) {
break;
}
block_sigalrm(&oldsigs);
blocked = true;
}
- time_refresh();
}
if (blocked) {
unblock_sigalrm(&oldsigs);