| Index: gdb/testsuite/gdb.python/py-inferior.c
|
| diff --git a/gdb/testsuite/gdb.python/py-inferior.c b/gdb/testsuite/gdb.python/py-inferior.c
|
| index 04ec4769263c8caeb67456ed2758263b5a696bcd..3ee9a4620604ecd0f7676b70dc4cb189275b186d 100644
|
| --- a/gdb/testsuite/gdb.python/py-inferior.c
|
| +++ b/gdb/testsuite/gdb.python/py-inferior.c
|
| @@ -2,9 +2,11 @@
|
| #include <stdlib.h>
|
| #include <stdint.h>
|
| #include <string.h>
|
| +#include <pthread.h>
|
|
|
| #define CHUNK_SIZE 16000 /* same as findcmd.c's */
|
| #define BUF_SIZE (2 * CHUNK_SIZE) /* at least two chunks */
|
| +#define NUMTH 8
|
|
|
| int8_t int8_search_buf[100];
|
| int16_t int16_search_buf[100];
|
| @@ -43,8 +45,47 @@ init_bufs ()
|
| memset (search_buf, 'x', search_buf_size);
|
| }
|
|
|
| +static void *
|
| +thread (void *param)
|
| +{
|
| + pthread_barrier_t *barrier = (pthread_barrier_t *) param;
|
| +
|
| + pthread_barrier_wait (barrier);
|
| +
|
| + return param;
|
| +}
|
| +
|
| +static void
|
| +check_threads (pthread_barrier_t *barrier)
|
| +{
|
| + pthread_barrier_wait (barrier);
|
| +}
|
| +
|
| +extern int
|
| +test_threads (void)
|
| +{
|
| + pthread_t threads[NUMTH];
|
| + pthread_barrier_t barrier;
|
| + int i;
|
| +
|
| + pthread_barrier_init (&barrier, NULL, NUMTH + 1);
|
| +
|
| + for (i = 0; i < NUMTH; ++i)
|
| + pthread_create (&threads[i], NULL, thread, &barrier);
|
| +
|
| + check_threads (&barrier);
|
| +
|
| + for (i = 0; i < NUMTH; ++i)
|
| + pthread_join (threads[i], NULL);
|
| +
|
| + pthread_barrier_destroy (&barrier);
|
| +
|
| + return 0;
|
| +}
|
| +
|
| int main (int argc, char *argv[])
|
| {
|
| + test_threads ();
|
| init_bufs ();
|
|
|
| return f1 (1, 2);
|
|
|