| Index: gdb/testsuite/gdb.threads/fork-thread-pending.c
|
| diff --git a/gdb/testsuite/gdb.threads/fork-thread-pending.c b/gdb/testsuite/gdb.threads/fork-thread-pending.c
|
| index ba8824ec85ffb8d46be77369c5537d7f2ed8498e..82317d4b37544ac859e2094b60fba4d1a58f090c 100644
|
| --- a/gdb/testsuite/gdb.threads/fork-thread-pending.c
|
| +++ b/gdb/testsuite/gdb.threads/fork-thread-pending.c
|
| @@ -28,6 +28,7 @@
|
| #define NUMTHREADS 10
|
|
|
| volatile int done = 0;
|
| +static pthread_barrier_t barrier;
|
|
|
| static void *
|
| start (void *arg)
|
| @@ -45,6 +46,8 @@ thread_function (void *arg)
|
|
|
| printf ("Thread <%d> executing\n", x);
|
|
|
| + pthread_barrier_wait (&barrier);
|
| +
|
| while (!done)
|
| usleep (100);
|
|
|
| @@ -62,6 +65,8 @@ thread_forker (void *arg)
|
|
|
| printf ("Thread forker <%d> executing\n", x);
|
|
|
| + pthread_barrier_wait (&barrier);
|
| +
|
| switch ((pid = fork ()))
|
| {
|
| case -1:
|
| @@ -89,6 +94,9 @@ main (void)
|
| int args[NUMTHREADS];
|
| int i, j;
|
|
|
| + i = pthread_barrier_init (&barrier, NULL, NUMTHREADS);
|
| + assert (i == 0);
|
| +
|
| /* Create a few threads that do mostly nothing, and then one that
|
| forks. */
|
| for (j = 0; j < NUMTHREADS - 1; ++j)
|
|
|