aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.threads/pthreads.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.threads/pthreads.c')
-rw-r--r--gdb/testsuite/gdb.threads/pthreads.c164
1 files changed, 0 insertions, 164 deletions
diff --git a/gdb/testsuite/gdb.threads/pthreads.c b/gdb/testsuite/gdb.threads/pthreads.c
deleted file mode 100644
index 9e55996..0000000
--- a/gdb/testsuite/gdb.threads/pthreads.c
+++ /dev/null
@@ -1,164 +0,0 @@
-#include <stdio.h>
-
-#include "config.h"
-
-#ifndef HAVE_PTHREAD_H
-
-/* Don't even try to compile. In fact, cause a syntax error that we can
- look for as a compiler error message and know that we have no pthread
- support. In that case we can just suppress the test completely. */
-
-#error "no posix threads support"
-
-#else
-
-/* OK. We have the right header. If we try to compile this and fail, then
- there is something wrong and the user should know about it so the testsuite
- should issue an ERROR result.. */
-
-#include <pthread.h>
-
-/* Under OSF, the second arg of pthread_create is prototyped to be just
- a "pthread_attr_t", while under Solaris it is a "pthread_attr_t *".
- Arg! */
-
-#ifdef __osf__
-#define PTHREAD_CREATE_ARG2(arg) arg
-#define PTHREAD_CREATE_NULL_ARG2 null_attr
-static pthread_attr_t null_attr;
-#else
-#define PTHREAD_CREATE_ARG2(arg) &arg
-#define PTHREAD_CREATE_NULL_ARG2 NULL
-#endif
-
-static int verbose = 0;
-
-static void
-common_routine (arg)
- int arg;
-{
- static int from_thread1;
- static int from_thread2;
- static int from_main;
- static int hits;
- static int full_coverage;
-
- if (verbose) printf("common_routine (%d)\n", arg);
- hits++;
- switch (arg)
- {
- case 0:
- from_main++;
- break;
- case 1:
- from_thread1++;
- break;
- case 2:
- from_thread2++;
- break;
- }
- if (from_main && from_thread1 && from_thread2)
- full_coverage = 1;
-}
-
-static void *
-thread1 (void *arg)
-{
- int i;
- int z = 0;
-
- if (verbose) printf ("thread1 (%0x) ; pid = %d\n", arg, getpid ());
- for (i=1; i <= 10000000; i++)
- {
- if (verbose) printf("thread1 %d\n", pthread_self ());
- z += i;
- common_routine (1);
- sleep(1);
- }
-}
-
-static void *
-thread2 (void * arg)
-{
- int i;
- int k = 0;
-
- if (verbose) printf ("thread2 (%0x) ; pid = %d\n", arg, getpid ());
- for (i=1; i <= 10000000; i++)
- {
- if (verbose) printf("thread2 %d\n", pthread_self ());
- k += i;
- common_routine (2);
- sleep(1);
- }
- sleep(100);
-}
-
-int
-foo (a, b, c)
- int a, b, c;
-{
- int d, e, f;
-
- if (verbose) printf("a=%d\n", a);
-}
-
-main(argc, argv)
- int argc;
- char **argv;
-{
- pthread_t tid1, tid2;
- int j;
- int t = 0;
- void (*xxx) ();
- pthread_attr_t attr;
-
- if (verbose) printf ("pid = %d\n", getpid());
-
- foo (1, 2, 3);
-
-#ifndef __osf__
- if (pthread_attr_init (&attr))
- {
- perror ("pthread_attr_init 1");
- exit (1);
- }
-#endif
-
-#ifdef PTHREAD_SCOPE_SYSTEM
- if (pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM))
- {
- perror ("pthread_attr_setscope 1");
- exit (1);
- }
-#endif
-
- if (pthread_create (&tid1, PTHREAD_CREATE_ARG2(attr), thread1, (void *) 0xfeedface))
- {
- perror ("pthread_create 1");
- exit (1);
- }
- if (verbose) printf ("Made thread %d\n", tid1);
- sleep (1);
-
- if (pthread_create (&tid2, PTHREAD_CREATE_NULL_ARG2, thread2, (void *) 0xdeadbeef))
- {
- perror ("pthread_create 2");
- exit (1);
- }
- if (verbose) printf("Made thread %d\n", tid2);
-
- sleep (1);
-
- for (j = 1; j <= 10000000; j++)
- {
- if (verbose) printf("top %d\n", pthread_self ());
- common_routine (0);
- sleep(1);
- t += j;
- }
-
- exit(0);
-}
-
-#endif /* ifndef HAVE_PTHREAD_H */