summaryrefslogtreecommitdiff
path: root/tests/test-16.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2010-08-01 01:05:53 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2010-08-01 01:05:53 +0200
commit68567b88ee8f9e395e0c1f0a565affe8a1d4d68b (patch)
tree07d3b7b96832493cb3cc57a26e88157e354cf899 /tests/test-16.c
parentfa0f7d1afb65bf077edfcc0f8977f95fca5656b9 (diff)
Move files to libpthread/ for inclusion along hurd
Diffstat (limited to 'tests/test-16.c')
-rw-r--r--tests/test-16.c71
1 files changed, 0 insertions, 71 deletions
diff --git a/tests/test-16.c b/tests/test-16.c
deleted file mode 100644
index b6a52d01..00000000
--- a/tests/test-16.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Test pthread_kill.c. */
-
-#define _GNU_SOURCE
-
-#include <pthread.h>
-#include <signal.h>
-#include <stdio.h>
-#include <assert.h>
-#include <error.h>
-#include <errno.h>
-#include <hurd/signal.h>
-
-pthread_t testthread;
-
-int i;
-
-void *
-test (void *arg)
-{
- error_t err;
-
- printf ("test: %d\n", pthread_self ());
-
- err = pthread_kill (pthread_self (), SIGINFO);
- if (err)
- error (1, err, "pthread_kill");
-
- /* To avoid using condition variables in a signal handler. */
- while (i == 0)
- sched_yield ();
-
- return 0;
-}
-
-static void
-handler (int sig, siginfo_t *info, void *context)
-{
- assert (pthread_equal (pthread_self (), testthread));
- printf ("handler: %d\n", pthread_self ());
- i = 1;
-}
-
-int
-main (int argc, char **argv)
-{
- error_t err;
- struct sigaction sa;
- void *ret;
-
- printf ("main: %d\n", pthread_self ());
-
- sa.sa_handler = handler;
- sa.sa_mask = 0;
- sa.sa_flags = 0;
-
- err = sigaction (SIGINFO, &sa, 0);
- if (err)
- error (1, err, "sigaction");
-
- err = pthread_create (&testthread, 0, test, 0);
- if (err)
- error (1, err, "pthread_create");
-
- err = pthread_join (testthread, &ret);
- if (err)
- error (1, err, "pthread_join");
-
- assert (ret == 0);
-
- return 0;
-}