From 12fde89674c46989fb5b3a76e25b7defe90c4845 Mon Sep 17 00:00:00 2001
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Date: Wed, 25 Nov 2009 15:41:50 +0100
Subject: conditional cancellation-point test of usleep

usleep is a SUSv3 function

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
---
 test/pthread/cancellation-points.c | 4 ++++
 1 file changed, 4 insertions(+)

(limited to 'test/pthread')

diff --git a/test/pthread/cancellation-points.c b/test/pthread/cancellation-points.c
index 3fe49fcaa..af5df3aa1 100644
--- a/test/pthread/cancellation-points.c
+++ b/test/pthread/cancellation-points.c
@@ -149,7 +149,9 @@ MAKE_CANCEL_THREAD_FUNC(sigwaitinfo, (NULL, NULL))
 MAKE_CANCEL_THREAD_FUNC(sleep, (0))
 MAKE_CANCEL_THREAD_FUNC(system, (""))
 MAKE_CANCEL_THREAD_FUNC(tcdrain, (-1))
+#ifdef __UCLIBC_SUSV3_LEGACY__
 MAKE_CANCEL_THREAD_FUNC(usleep, (0))
+#endif
 MAKE_CANCEL_THREAD_FUNC(wait, (NULL))
 MAKE_CANCEL_THREAD_FUNC(waitid, (0, 0, NULL, 0))
 MAKE_CANCEL_THREAD_FUNC(waitpid, (-1, NULL, 0))
@@ -264,7 +266,9 @@ int main(int argc, char *argv[])
 	ret += TEST_FUNC(sleep);
 	ret += TEST_FUNC(system);
 	ret += TEST_FUNC(tcdrain);
+#ifdef __UCLIBC_SUSV3_LEGACY__
 	ret += TEST_FUNC(usleep);
+#endif
 	ret += TEST_FUNC(wait);
 	ret += TEST_FUNC(waitid);
 	ret += TEST_FUNC(waitpid);
-- 
cgit v1.2.3


From 557e0c8dd7831473920ad900f5205e0d6987b2aa Mon Sep 17 00:00:00 2001
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Date: Wed, 25 Nov 2009 15:42:50 +0100
Subject: call nanosleep directly

usleep is a SUSv3 function.
TODO: nanosleep moved from SUSv3 Timers to SUSv4 Base

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
---
 test/pthread/ex6.c | 7 +++++--
 test/pthread/ex7.c | 7 +++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

(limited to 'test/pthread')

diff --git a/test/pthread/ex6.c b/test/pthread/ex6.c
index bb96ca5fa..ffb628771 100644
--- a/test/pthread/ex6.c
+++ b/test/pthread/ex6.c
@@ -2,7 +2,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <pthread.h>
-#include <unistd.h>
+#include <time.h>
 
 static void *
 test_thread (void *v_param)
@@ -14,6 +14,9 @@ int
 main (void)
 {
   unsigned long count;
+  struct timespec ts;
+  ts.tv_sec = 0;
+  ts.tv_nsec = 10 * 1000;
 
   setvbuf (stdout, NULL, _IONBF, 0);
 
@@ -35,7 +38,7 @@ main (void)
 	}
       /* pthread_detach (thread); */
       pthread_join (thread, NULL);
-      usleep (10);
+      nanosleep (&ts, NULL);
     }
   return 0;
 }
diff --git a/test/pthread/ex7.c b/test/pthread/ex7.c
index 49af18d96..8eeb9a2e5 100644
--- a/test/pthread/ex7.c
+++ b/test/pthread/ex7.c
@@ -8,7 +8,7 @@
 #include <string.h>
 #include <pthread.h>
 #include <sys/time.h>
-#include <unistd.h>
+#include <time.h>
 
 /* Our event variable using a condition variable contruct. */
 typedef struct {
@@ -63,6 +63,9 @@ int
 main (void)
 {
   unsigned long count;
+  struct timespec ts;
+  ts.tv_sec = 0;
+  ts.tv_nsec = 10 * 1000;
 
   setvbuf (stdout, NULL, _IONBF, 0);
 
@@ -96,7 +99,7 @@ main (void)
 	  printf ("count = %lu\n", count);
       }
 
-      usleep (10);
+      nanosleep (&ts, NULL);
   }
 
   return 0;
-- 
cgit v1.2.3