This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! Carlos, thanks for the review. I made the additional changes you suggested, and some more; how's this version? 2012-02-07 Thomas Schwinge <thomas@codesourcery.com> * rt/tst-cpuclock1.c: Add a few comments, and error checking for nanosleep invocations. * rt/tst-cpuclock2.c: Print some values as intended, fix explanatory strings, and add error checking for a nanosleep invocations. diff --git a/rt/tst-cpuclock1.c b/rt/tst-cpuclock1.c index 024df63..0326662 100644 --- a/rt/tst-cpuclock1.c +++ b/rt/tst-cpuclock1.c @@ -1,5 +1,5 @@ /* Test program for process CPU clocks. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -131,11 +131,17 @@ do_test (void) result = 1; goto done; } + /* Should be close to 0.0. */ printf ("live PID %d before sleep => %lu.%.9lu\n", child, before.tv_sec, before.tv_nsec); struct timespec sleeptime = { .tv_nsec = 500000000 }; - nanosleep (&sleeptime, NULL); + if (nanosleep (&sleeptime, NULL) != 0) + { + perror ("nanosleep"); + result = 1; + goto done; + } if (clock_gettime (child_clock, &after) < 0) { @@ -144,6 +150,7 @@ do_test (void) result = 1; goto done; } + /* Should be close to 0.5. */ printf ("live PID %d after sleep => %lu.%.9lu\n", child, after.tv_sec, after.tv_nsec); @@ -214,7 +221,12 @@ do_test (void) /* Wait long enough to let the child finish dying. */ sleeptime.tv_nsec = 200000000; - nanosleep (&sleeptime, NULL); + if (nanosleep (&sleeptime, NULL) != 0) + { + perror ("nanosleep"); + result = 1; + goto done; + } struct timespec dead; if (clock_gettime (child_clock, &dead) < 0) @@ -224,6 +236,7 @@ do_test (void) result = 1; goto done; } + /* Should be close to 0.6. */ printf ("dead PID %d => %lu.%.9lu\n", child, dead.tv_sec, dead.tv_nsec); diff --git a/rt/tst-cpuclock2.c b/rt/tst-cpuclock2.c index d1621f3..594bcee 100644 --- a/rt/tst-cpuclock2.c +++ b/rt/tst-cpuclock2.c @@ -1,5 +1,5 @@ /* Test program for process and thread CPU clocks. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -217,7 +217,7 @@ do_test (void) struct timespec res; if (clock_getres (th_clock, &res) < 0) { - printf ("clock_getres on thread clock %lx => %s\n", + printf ("clock_getres on live thread clock %lx => %s\n", (unsigned long int) th_clock, strerror (errno)); result = 1; return 1; @@ -229,7 +229,7 @@ do_test (void) if (clock_gettime (process_clock, &process_before) < 0) { printf ("clock_gettime on process clock %lx => %s\n", - (unsigned long int) th_clock, strerror (errno)); + (unsigned long int) process_clock, strerror (errno)); return 1; } @@ -246,15 +246,19 @@ do_test (void) struct timespec me_before, me_after; if (clock_gettime (my_thread_clock, &me_before) < 0) { - printf ("clock_gettime on live thread clock %lx => %s\n", - (unsigned long int) th_clock, strerror (errno)); + printf ("clock_gettime on self thread clock %lx => %s\n", + (unsigned long int) my_thread_clock, strerror (errno)); return 1; } printf ("self thread before sleep => %lu.%.9lu\n", me_before.tv_sec, me_before.tv_nsec); struct timespec sleeptime = { .tv_nsec = 500000000 }; - nanosleep (&sleeptime, NULL); + if (nanosleep (&sleeptime, NULL) != 0) + { + perror ("nanosleep"); + return 1; + } if (clock_gettime (th_clock, &after) < 0) { @@ -268,14 +272,14 @@ do_test (void) if (clock_gettime (process_clock, &process_after) < 0) { printf ("clock_gettime on process clock %lx => %s\n", - (unsigned long int) th_clock, strerror (errno)); + (unsigned long int) process_clock, strerror (errno)); return 1; } if (clock_gettime (my_thread_clock, &me_after) < 0) { - printf ("clock_gettime on live thread clock %lx => %s\n", - (unsigned long int) th_clock, strerror (errno)); + printf ("clock_gettime on self thread clock %lx => %s\n", + (unsigned long int) my_thread_clock, strerror (errno)); return 1; } printf ("self thread after sleep => %lu.%.9lu\n", @@ -287,7 +291,7 @@ do_test (void) if (th_diff < 100000000 || th_diff > 600000000) { - printf ("thread before - after %llu outside reasonable range\n", + printf ("live thread before - after %llu outside reasonable range\n", th_diff); result = 1; } @@ -306,7 +310,7 @@ do_test (void) result = 1; } - process_after.tv_nsec += test_nanosleep (th_clock, "thread", + process_after.tv_nsec += test_nanosleep (th_clock, "live thread", &after, &result); process_after.tv_nsec += test_nanosleep (process_clock, "process", &process_after, &result); GrÃÃe, Thomas
Attachment:
pgp00000.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |