This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED PATCH] Conditionalize some test code for SIGRTMIN, SA_SIGINFO.
- From: Roland McGrath <roland at hack dot frob dot com>
- To: "GNU C. Library" <libc-alpha at sourceware dot org>
- Date: Wed, 4 Mar 2015 15:16:21 -0800 (PST)
- Subject: [COMMITTED PATCH] Conditionalize some test code for SIGRTMIN, SA_SIGINFO.
- Authentication-results: sourceware.org; auth=none
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