test75 sometimes false-fails if something else is going on
at the same time, presumably because the child doesn't spin
enough to register a nonzero getrusage() cpu time value, as
spin() uses the real time to limit the spinning.
this change forces spin() to do a minimum amount of spinning
before exiting, regardless of scheduling.
Change-Id: I57c63d22969bba418f36bcc8c5ace2b6fb445968
{
struct timeval start_time;
struct timeval end_time;
- int loop = 0;
+ unsigned int loop = 0;
if (gettimeofday(&start_time, NULL) == -1) {
e(1);
exit(1);
}
memset(&end_time, 0, sizeof(end_time));
- while (start_time.tv_sec + 10 > end_time.tv_sec) {
- if ((++loop % 10000) == 0) {
+ do {
+ if ((++loop % 3000000000) == 0) {
if (gettimeofday(&end_time, NULL) == -1) {
e(1);
exit(1);
}
}
- }
+ } while (start_time.tv_sec + 10 > end_time.tv_sec);
}
int