Index: gdb/testsuite/gdb.threads/step.c |
diff --git a/gdb/testsuite/gdb.threads/step.c b/gdb/testsuite/gdb.threads/step.c |
deleted file mode 100644 |
index 1b18a4b07adcaed20a234d8d7eb42c7b8464848f..0000000000000000000000000000000000000000 |
--- a/gdb/testsuite/gdb.threads/step.c |
+++ /dev/null |
@@ -1,221 +0,0 @@ |
-/* step.c for step.exp */ |
-#include <ipc.h> |
-#include <pthread.h> |
-#include <st.h> |
-#include <signal.h> |
-#include <stdio.h> |
- |
-void alarm_handler (); |
-void alarm_handler1 (); |
-void alarm_handler2 (); |
-void thread1 (); |
-void thread2 (); |
- |
-#define TIME_LIMIT 30 |
- |
- |
-int count1 = 0; |
-int count2 = 0; |
- |
-pthread_t tid1, tid2; |
-pthread_attr_t attr1, attr2; |
- |
-pthread_mutex_t mut; |
-pthread_mutexattr_t mut_attr; |
- |
-pthread_condattr_t cv_attr_a, cv_attr_b; |
-pthread_cond_t cv_a, cv_b; |
- |
-struct cv_struct |
- { |
- char a; |
- char b; |
- } |
-test_struct; |
- |
-main () |
-{ |
- /*init la struct */ |
- test_struct.a = 0; |
- test_struct.b = 1; |
- |
- /* create le mutex */ |
- if (pthread_mutexattr_create (&mut_attr) == -1) |
- { |
- perror ("mutexattr_create"); |
- exit (1); |
- } |
- |
- |
- if (pthread_mutex_init (&mut, mut_attr) == -1) |
- { |
- perror ("mutex_init"); |
- exit (1); |
- } |
- |
- /* create 2 cv */ |
- if (pthread_condattr_create (&cv_attr_a) == -1) |
- { |
- perror ("condattr_create(1)"); |
- exit (1); |
- } |
- |
- if (pthread_cond_init (&cv_a, cv_attr_a) == -1) |
- { |
- perror ("cond_init(1)"); |
- exit (1); |
- } |
- |
- if (pthread_condattr_create (&cv_attr_b) == -1) |
- { |
- perror ("condattr_create(2)"); |
- exit (1); |
- } |
- |
- if (pthread_cond_init (&cv_b, cv_attr_b) == -1) |
- { |
- perror ("cond_init(2)"); |
- exit (1); |
- } |
- |
- /* create 2 threads of execution */ |
- if (pthread_attr_create (&attr1) == -1) |
- { |
- perror ("attr_create(1)"); |
- exit (1); |
- } |
- |
- if (pthread_create (&tid1, attr1, thread1, &count1) == -1) |
- { |
- perror ("pthread_create(1)"); |
- exit (1); |
- } |
- |
- if (pthread_attr_create (&attr2) == -1) |
- { |
- perror ("attr_create(2)"); |
- exit (1); |
- } |
- |
- if (pthread_create (&tid2, attr2, thread2, &count2) == -1) |
- { |
- perror ("pthread_create(2)"); |
- exit (1); |
- } |
- |
- /* set alarm to print out data and exit */ |
- signal (SIGALRM, alarm_handler); |
- alarm (TIME_LIMIT); |
- |
- for (;;) |
- pause (); |
-} |
- |
-void |
-thread1 (count) |
- int *count; |
-{ |
- tid_t tid; |
- |
- tid = getstid (); |
- printf ("Thread1 tid 0x%x (%d) \n", tid, tid); |
- printf ("Thread1 @tid=0x%x \n", &tid); |
- signal (SIGALRM, alarm_handler1); |
- |
- for (;;) |
- { |
- if (pthread_mutex_lock (&mut) == -1) |
- { |
- perror ("pthread_mutex_lock(1)"); |
- pthread_exit ((void *) 0); |
- } |
- |
- while (test_struct.a == 0) |
- { |
- if (pthread_cond_wait (&cv_a, &mut) == -1) |
- { |
- perror ("pthread_cond_wait(1)"); |
- pthread_exit ((void *) -1); |
- } |
- } |
- |
- (*count)++; |
- printf ("*******thread1 count %d\n", *count); |
- |
- test_struct.a = 0; |
- |
- test_struct.b = 1; |
- pthread_cond_signal (&cv_b); |
- |
- if (pthread_mutex_unlock (&mut) == -1) |
- { |
- perror ("pthread_mutex_unlock(1)"); |
- pthread_exit ((void *) -1); |
- } |
- } |
-} |
- |
-void |
-thread2 (count) |
- int *count; |
-{ |
- tid_t tid; |
- |
- tid = getstid (); |
- printf ("Thread2 tid 0x%x (%d) \n", tid, tid); |
- printf ("Thread1 @tid=0x%x \n", &tid); |
- signal (SIGALRM, alarm_handler2); |
- |
- for (;;) |
- { |
- if (pthread_mutex_lock (&mut) == -1) |
- { |
- perror ("pthread_mutex_lock(2)"); |
- pthread_exit ((void *) 0); |
- } |
- |
- while (test_struct.b == 0) |
- { |
- if (pthread_cond_wait (&cv_b, &mut) == -1) |
- { |
- perror ("pthread_cond_wait(2)"); |
- pthread_exit ((void *) -1); |
- } |
- } |
- |
- (*count)++; |
- printf ("*******thread2 count %d\n", *count); |
- |
- test_struct.b = 0; |
- |
- test_struct.a = 1; |
- pthread_cond_signal (&cv_a); |
- |
- if (pthread_mutex_unlock (&mut) == -1) |
- { |
- perror ("pthread_mutex_unlock(2)"); |
- pthread_exit ((void *) -1); |
- } |
- } |
-} |
- |
- |
-void |
-alarm_handler () |
-{ |
- printf ("\tcount1 (%d) \n\tcount2 (%d)\n", count1, count2); |
- exit (0); |
-} |
- |
-void |
-alarm_handler1 () |
-{ |
- printf ("ALARM thread 1\n"); |
-} |
- |
-void |
-alarm_handler2 () |
-{ |
- printf ("ALARM thread 2\n"); |
- pthread_exit ((void *) 0); |
-} |