about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--rt/tst-cpuclock1.c19
-rw-r--r--rt/tst-cpuclock2.c26
3 files changed, 38 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 1f037dcb32..e04d86c606 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-02-10  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.
+
 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Replace FSF snail mail address with URLs, as per GNU coding standards.
diff --git a/rt/tst-cpuclock1.c b/rt/tst-cpuclock1.c
index 9d68ec5203..edc04761f7 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
@@ -130,11 +130,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)
     {
@@ -143,6 +149,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);
 
@@ -213,7 +220,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)
@@ -223,6 +235,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 d08dc62118..e3545f2e3c 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
@@ -216,7 +216,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;
@@ -228,7 +228,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;
     }
 
@@ -245,15 +245,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)
     {
@@ -267,14 +271,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",
@@ -286,7 +290,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;
     }
@@ -305,7 +309,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);