]> Zhao Yanbai Git Server - minix.git/commitdiff
test75: force child to use a minimum of cpu time 66/866/4
authorBen Gras <ben@minix3.org>
Fri, 27 Sep 2013 14:29:08 +0000 (14:29 +0000)
committerGerrit Code Review <gerrit@gerrit>
Wed, 2 Oct 2013 14:26:27 +0000 (16:26 +0200)
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

test/test75.c

index 288d2a98ddbc8c8627e2c9a74a5bfcbe67d184d1..88c4c6d7247418b44df5ffa0986fc6c1984497f5 100644 (file)
@@ -28,20 +28,20 @@ static void spin()
 {
        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