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] |