diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-01-05 22:42:01 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-01-05 22:42:01 +0000 |
commit | 22347a8b2396496a4ea4fae22da416e38e621bd3 (patch) | |
tree | 1d9a8b0b14f565f7382117edb069b4bab4c02272 /rt/tst-aio3.c | |
parent | 0b8f25bbca8a9d08f0bdae0772fa5ec5172144b5 (diff) | |
download | glibc-22347a8b2396496a4ea4fae22da416e38e621bd3.tar glibc-22347a8b2396496a4ea4fae22da416e38e621bd3.tar.gz glibc-22347a8b2396496a4ea4fae22da416e38e621bd3.tar.bz2 glibc-22347a8b2396496a4ea4fae22da416e38e621bd3.zip |
The thread is now supposed to be created.
Diffstat (limited to 'rt/tst-aio3.c')
-rw-r--r-- | rt/tst-aio3.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/rt/tst-aio3.c b/rt/tst-aio3.c index 0c0ced4501..95da4c1325 100644 --- a/rt/tst-aio3.c +++ b/rt/tst-aio3.c @@ -1,5 +1,5 @@ /* Test for notification mechanism in lio_listio. - Copyright (C) 2000,02 Free Software Foundation, Inc. + Copyright (C) 2000, 2002, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,13 +24,18 @@ #include <unistd.h> #include <errno.h> -int flag; +static pthread_barrier_t b; static void thrfct (sigval_t arg) { - flag = 1; + int e = pthread_barrier_wait (&b); + if (e != 0 && e != PTHREAD_BARRIER_SERIAL_THREAD) + { + puts ("child: barrier_wait failed"); + exit (1); + } } @@ -52,6 +57,12 @@ do_test (int argc, char *argv[]) unlink (name); + if (pthread_barrier_init (&b, NULL, 2) != 0) + { + puts ("barrier_init failed"); + return 1; + } + arr[0] = &cb; cb.aio_fildes = fd; @@ -82,9 +93,10 @@ do_test (int argc, char *argv[]) return 1; } - if (flag != 0) + int e = pthread_barrier_wait (&b); + if (e != 0 && e != PTHREAD_BARRIER_SERIAL_THREAD) { - puts ("thread created, should not have happened"); + puts ("parent: barrier_wait failed"); return 1; } |