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]

[COMMITTED PATCH] Conditionalize some test code for SIGRTMIN, SA_SIGINFO.


This makes all the test code in nptl/ and rt/ compile even if the
configuration does not use SIGCANCEL (in NPTL internals) and does
not provide SA_SIGINFO or SIGRTMIN (in the <signal.h> API).


Thanks,
Roland


	* nptl/tst-cancel4.c (tf_sigpause) [!SIGCANCEL]: Call pause instead of
	__xpg_sigpause.
	* nptl/tst-signal3.c: Conditionalize body on [SIGRTMIN].
	* nptl/tst-signal6.c: Likewise.
	* rt/tst-mqueue5.c: Conditionalize body on [SIGRTMIN && SA_SIGINFO].
	* rt/tst-timer4.c: Conditionalize body on [SA_SIGINFO].

2015-03-04  Roland McGrath  <roland@hack.frob.com>

--- a/nptl/tst-cancel4.c
+++ b/nptl/tst-cancel4.c
@@ -781,9 +781,13 @@ tf_sigpause (void *arg)
 
   pthread_cleanup_push (cl, NULL);
 
+#ifdef SIGCANCEL
   /* Just for fun block the cancellation signal.  We need to use
      __xpg_sigpause since otherwise we will get the BSD version.  */
   __xpg_sigpause (SIGCANCEL);
+#else
+  pause ();
+#endif
 
   pthread_cleanup_pop (0);
 
--- a/nptl/tst-signal3.c
+++ b/nptl/tst-signal3.c
@@ -25,13 +25,14 @@
 #include <unistd.h>
 
 
-/* Number of different signalss to use.  Also is the number of
-   threads.  */
-#define N 10
+#ifdef SIGRTMIN
+
+/* Number of different signals to use.  Also is the number of threads.  */
+# define N 10
 /* Maximum number of threads in flight at any one time.  */
-#define INFLIGHT 5
+# define INFLIGHT 5
 /* Number of signals sent in total.  */
-#define ROUNDS 10000
+# define ROUNDS 10000
 
 
 static int received[N][N];
@@ -255,6 +256,11 @@ do_test (void)
   return result;
 }
 
-#define TIMEOUT 10
-#define TEST_FUNCTION do_test ()
+# define TIMEOUT 10
+# define TEST_FUNCTION do_test ()
+
+#else
+# define TEST_FUNCTION 0
+#endif
+
 #include "../test-skeleton.c"
--- a/nptl/tst-signal6.c
+++ b/nptl/tst-signal6.c
@@ -24,7 +24,9 @@
 #include <unistd.h>
 
 
-#define N 2
+#ifdef SIGRTMIN
+
+# define N 2
 static pthread_barrier_t bar;
 static struct
 {
@@ -187,5 +189,9 @@ do_test (void)
   return 0;
 }
 
-#define TEST_FUNCTION do_test ()
+# define TEST_FUNCTION do_test ()
+
+#else
+# define TEST_FUNCTION 0
+#endif
 #include "../test-skeleton.c"
--- a/rt/tst-mqueue5.c
+++ b/rt/tst-mqueue5.c
@@ -35,7 +35,7 @@
 
 #define TIMEOUT 3
 
-#if _POSIX_THREADS
+#if _POSIX_THREADS && defined SIGRTMIN && defined SA_SIGINFO
 # include <pthread.h>
 
 volatile int rtmin_cnt;
--- a/rt/tst-timer4.c
+++ b/rt/tst-timer4.c
@@ -24,7 +24,7 @@
 #include <time.h>
 #include <unistd.h>
 #include <stdint.h>
-#if _POSIX_THREADS
+#if _POSIX_THREADS && defined SA_SIGINFO
 # include <pthread.h>
 
 # ifndef TEST_CLOCK
@@ -641,6 +641,11 @@ do_test (void)
     }
   return result;
 }
+
+#elif defined TEST_CLOCK_MISSING
+/* This just ensures that any functions called in TEST_CLOCK_MISSING
+   are not diagnosed as unused.  */
+# define TEST_FUNCTION (TEST_CLOCK_MISSING (TEST_CLOCK), 0)
 #else
 # define TEST_FUNCTION 0
 #endif


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]