diff options
| author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-04-25 18:56:46 -0300 |
|---|---|---|
| committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-05-01 15:41:46 -0300 |
| commit | fa66f341a06f07a22737227e45f7ccdc615d4274 (patch) | |
| tree | 0cd20ca586bc2f03b46b8d68f7370ef49a10b34d | |
| parent | ffd6023885e71d026f18a8aec5b6610582e44150 (diff) | |
| download | glibc-fa66f341a06f07a22737227e45f7ccdc615d4274.tar.xz glibc-fa66f341a06f07a22737227e45f7ccdc615d4274.zip | |
nptl: Using libsupport for tst-cancel4*
Checked on x86_64-linux-gnu.
* nptl/tst-cancel4-common.c: Use libsupport.
* nptl/tst-cancel4-common.h: Likewise.
* nptl/tst-cancel4.c (tf_read): Likewise.
(tf_readv): Likewise.
(tf_write): Likewise.
(tf_writev): Likewise.
(tf_sleep): Likewise.
(tf_usleep): Likewise.
(tf_nanosleep): Likewise.
(tf_select): Likewise.
(tf_pselect): Likewise.
(tf_poll): Likewise.
(tf_ppoll): Likewise.
(tf_wait): Likewise.
(tf_waitpid): Likewise.
(tf_waitid): Likewise.
(tf_sigpause): Likewise.
(tf_sigsuspend): Likewise.
(tf_sigwait): Likewise.
(tf_sigwaitinfo): Likewise.
(tf_sigtimedwait): Likewise.
(tf_pause): Likewise.
(tf_accept): Likewise.
(tf_send): Likewise.
(tf_recv): Likewise.
(tf_recvfrom): Likewise.
(tf_recvmsg): Likewise.
(tf_open): Likewise.
(tf_close): Likewise.
(tf_pread): Likewise.
(tf_pwrite): Likewise.
(tf_preadv): Likewise.
(tf_pwritev): Likewise.
(tf_fsync): Likewise.
(tf_fdatasync): Likewise.
(tf_msync): Likewise.
(tf_sendto): Likewise.
(tf_sendmsg): Likewise.
(tf_creat): Likewise.
(tf_connect): Likewise.
(tf_tcdrain): Likewise.
(tf_msgrcv): Likewise.
(tf_msgsnd): Likewise.
* nptl/tst-cancel4_1.c (tf_sendmmsg): Likewise.
* nptl/tst-cancel4_2.c (tf_recvmmsg): Likewise.
| -rw-r--r-- | ChangeLog | 46 | ||||
| -rw-r--r-- | nptl/tst-cancel4-common.c | 3 | ||||
| -rw-r--r-- | nptl/tst-cancel4-common.h | 4 | ||||
| -rw-r--r-- | nptl/tst-cancel4.c | 1077 | ||||
| -rw-r--r-- | nptl/tst-cancel4_1.c | 33 | ||||
| -rw-r--r-- | nptl/tst-cancel4_2.c | 33 |
6 files changed, 250 insertions, 946 deletions
@@ -1,5 +1,51 @@ 2017-04-26 Adhemerval Zanella <adhemerval.zanella@linaro.org> + * nptl/tst-cancel4-common.c: Use libsupport. + * nptl/tst-cancel4-common.h: Likewise. + * nptl/tst-cancel4.c (tf_read): Likewise. + (tf_readv): Likewise. + (tf_write): Likewise. + (tf_writev): Likewise. + (tf_sleep): Likewise. + (tf_usleep): Likewise. + (tf_nanosleep): Likewise. + (tf_select): Likewise. + (tf_pselect): Likewise. + (tf_poll): Likewise. + (tf_ppoll): Likewise. + (tf_wait): Likewise. + (tf_waitpid): Likewise. + (tf_waitid): Likewise. + (tf_sigpause): Likewise. + (tf_sigsuspend): Likewise. + (tf_sigwait): Likewise. + (tf_sigwaitinfo): Likewise. + (tf_sigtimedwait): Likewise. + (tf_pause): Likewise. + (tf_accept): Likewise. + (tf_send): Likewise. + (tf_recv): Likewise. + (tf_recvfrom): Likewise. + (tf_recvmsg): Likewise. + (tf_open): Likewise. + (tf_close): Likewise. + (tf_pread): Likewise. + (tf_pwrite): Likewise. + (tf_preadv): Likewise. + (tf_pwritev): Likewise. + (tf_fsync): Likewise. + (tf_fdatasync): Likewise. + (tf_msync): Likewise. + (tf_sendto): Likewise. + (tf_sendmsg): Likewise. + (tf_creat): Likewise. + (tf_connect): Likewise. + (tf_tcdrain): Likewise. + (tf_msgrcv): Likewise. + (tf_msgsnd): Likewise. + * nptl/tst-cancel4_1.c (tf_sendmmsg): Likewise. + * nptl/tst-cancel4_2.c (tf_recvmmsg): Likewise. + * misc/tst-preadvwritev-common.c (do_prepare): Use libsupport expected arguments. (do_test): Adapt to use libsupport. diff --git a/nptl/tst-cancel4-common.c b/nptl/tst-cancel4-common.c index 3c57c99b01..eb3211721c 100644 --- a/nptl/tst-cancel4-common.c +++ b/nptl/tst-cancel4-common.c @@ -259,5 +259,4 @@ do_test (void) } #define TIMEOUT 60 -#define TEST_FUNCTION do_test () -#include "../test-skeleton.c" +#include <support/test-driver.c> diff --git a/nptl/tst-cancel4-common.h b/nptl/tst-cancel4-common.h index 1964564863..54b2f1e2d9 100644 --- a/nptl/tst-cancel4-common.h +++ b/nptl/tst-cancel4-common.h @@ -19,6 +19,10 @@ #include <pthread.h> +#include <support/check.h> +#include <support/xthread.h> +#include <support/xunistd.h> + /* Pipe descriptors. */ static int fds[2]; diff --git a/nptl/tst-cancel4.c b/nptl/tst-cancel4.c index 590ce0ab5d..e66961f9a8 100644 --- a/nptl/tst-cancel4.c +++ b/nptl/tst-cancel4.c @@ -79,7 +79,6 @@ static void * tf_read (void *arg) { int fd; - int r; if (arg == NULL) fd = fds[0]; @@ -88,23 +87,13 @@ tf_read (void *arg) char fname[] = "/tmp/tst-cancel4-fd-XXXXXX"; tempfd = fd = mkstemp (fname); if (fd == -1) - printf ("%s: mkstemp failed\n", __FUNCTION__); + FAIL_EXIT1 ("mkstemp failed: %m"); unlink (fname); - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); ssize_t s; pthread_cleanup_push (cl, NULL); @@ -114,9 +103,7 @@ tf_read (void *arg) pthread_cleanup_pop (0); - printf ("%s: read returns with %zd\n", __FUNCTION__, s); - - exit (1); + FAIL_EXIT1 ("read returns with %zd", s); } @@ -124,7 +111,6 @@ static void * tf_readv (void *arg) { int fd; - int r; if (arg == NULL) fd = fds[0]; @@ -133,23 +119,13 @@ tf_readv (void *arg) char fname[] = "/tmp/tst-cancel4-fd-XXXXXX"; tempfd = fd = mkstemp (fname); if (fd == -1) - printf ("%s: mkstemp failed\n", __FUNCTION__); + FAIL_EXIT1 ("mkstemp failed: %m"); unlink (fname); - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); ssize_t s; pthread_cleanup_push (cl, NULL); @@ -160,9 +136,7 @@ tf_readv (void *arg) pthread_cleanup_pop (0); - printf ("%s: readv returns with %zd\n", __FUNCTION__, s); - - exit (1); + FAIL_EXIT1 ("readv returns with %zd", s); } @@ -170,7 +144,6 @@ static void * tf_write (void *arg) { int fd; - int r; if (arg == NULL) fd = fds[1]; @@ -179,23 +152,13 @@ tf_write (void *arg) char fname[] = "/tmp/tst-cancel4-fd-XXXXXX"; tempfd = fd = mkstemp (fname); if (fd == -1) - printf ("%s: mkstemp failed\n", __FUNCTION__); + FAIL_EXIT1 ("mkstemp failed: %m"); unlink (fname); - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); ssize_t s; pthread_cleanup_push (cl, NULL); @@ -206,9 +169,7 @@ tf_write (void *arg) pthread_cleanup_pop (0); - printf ("%s: write returns with %zd\n", __FUNCTION__, s); - - exit (1); + FAIL_EXIT1 ("write returns with %zd", s); } @@ -216,7 +177,6 @@ static void * tf_writev (void *arg) { int fd; - int r; if (arg == NULL) fd = fds[1]; @@ -225,23 +185,13 @@ tf_writev (void *arg) char fname[] = "/tmp/tst-cancel4-fd-XXXXXX"; tempfd = fd = mkstemp (fname); if (fd == -1) - printf ("%s: mkstemp failed\n", __FUNCTION__); + FAIL_EXIT1 ("mkstemp failed: %m"); unlink (fname); - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); ssize_t s; pthread_cleanup_push (cl, NULL); @@ -253,31 +203,17 @@ tf_writev (void *arg) pthread_cleanup_pop (0); - printf ("%s: writev returns with %zd\n", __FUNCTION__, s); - - exit (1); + FAIL_EXIT1 ("writev returns with %zd", s); } static void * tf_sleep (void *arg) { - int r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); if (arg != NULL) - { - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } - } + xpthread_barrier_wait (&b2); pthread_cleanup_push (cl, NULL); @@ -285,31 +221,17 @@ tf_sleep (void *arg) pthread_cleanup_pop (0); - printf ("%s: sleep returns\n", __FUNCTION__); - - exit (1); + FAIL_EXIT1 ("sleep returns"); } static void * tf_usleep (void *arg) { - int r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); if (arg != NULL) - { - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: 2nd barrier_wait failed\n", __FUNCTION__); - exit (1); - } - } + xpthread_barrier_wait (&b2); pthread_cleanup_push (cl, NULL); @@ -317,31 +239,17 @@ tf_usleep (void *arg) pthread_cleanup_pop (0); - printf ("%s: usleep returns\n", __FUNCTION__); - - exit (1); + FAIL_EXIT1 ("usleep returns"); } static void * tf_nanosleep (void *arg) { - int r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); if (arg != NULL) - { - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } - } + xpthread_barrier_wait (&b2); pthread_cleanup_push (cl, NULL); @@ -350,9 +258,7 @@ tf_nanosleep (void *arg) pthread_cleanup_pop (0); - printf ("%s: nanosleep returns\n", __FUNCTION__); - - exit (1); + FAIL_EXIT1 ("nanosleep returns"); } @@ -360,7 +266,6 @@ static void * tf_select (void *arg) { int fd; - int r; if (arg == NULL) fd = fds[0]; @@ -369,23 +274,13 @@ tf_select (void *arg) char fname[] = "/tmp/tst-cancel4-fd-XXXXXX"; tempfd = fd = mkstemp (fname); if (fd == -1) - printf ("%s: mkstemp failed\n", __FUNCTION__); + FAIL_EXIT1 ("mkstemp failed: %m"); unlink (fname); - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); fd_set rfs; FD_ZERO (&rfs); @@ -398,10 +293,7 @@ tf_select (void *arg) pthread_cleanup_pop (0); - printf ("%s: select returns with %d (%s)\n", __FUNCTION__, s, - strerror (errno)); - - exit (1); + FAIL_EXIT1 ("select returns with %d: %m", s); } @@ -409,7 +301,6 @@ static void * tf_pselect (void *arg) { int fd; - int r; if (arg == NULL) fd = fds[0]; @@ -418,23 +309,13 @@ tf_pselect (void *arg) char fname[] = "/tmp/tst-cancel4-fd-XXXXXX"; tempfd = fd = mkstemp (fname); if (fd == -1) - printf ("%s: mkstemp failed\n", __FUNCTION__); + FAIL_EXIT1 ("mkstemp failed: %m"); unlink (fname); - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); fd_set rfs; FD_ZERO (&rfs); @@ -447,10 +328,7 @@ tf_pselect (void *arg) pthread_cleanup_pop (0); - printf ("%s: pselect returns with %d (%s)\n", __FUNCTION__, s, - strerror (errno)); - - exit (1); + FAIL_EXIT1 ("pselect returns with %d: %m", s); } @@ -458,7 +336,6 @@ static void * tf_poll (void *arg) { int fd; - int r; if (arg == NULL) fd = fds[0]; @@ -467,23 +344,13 @@ tf_poll (void *arg) char fname[] = "/tmp/tst-cancel4-fd-XXXXXX"; tempfd = fd = mkstemp (fname); if (fd == -1) - printf ("%s: mkstemp failed\n", __FUNCTION__); + FAIL_EXIT1 ("mkstemp failed: %m"); unlink (fname); - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); struct pollfd rfs[1] = { [0] = { .fd = fd, .events = POLLIN } }; @@ -494,10 +361,7 @@ tf_poll (void *arg) pthread_cleanup_pop (0); - printf ("%s: poll returns with %d (%s)\n", __FUNCTION__, s, - strerror (errno)); - - exit (1); + FAIL_EXIT1 ("poll returns with %d: %m", s); } @@ -505,7 +369,6 @@ static void * tf_ppoll (void *arg) { int fd; - int r; if (arg == NULL) fd = fds[0]; @@ -514,23 +377,13 @@ tf_ppoll (void *arg) char fname[] = "/tmp/tst-cancel4-fd-XXXXXX"; tempfd = fd = mkstemp (fname); if (fd == -1) - printf ("%s: mkstemp failed\n", __FUNCTION__); + FAIL_EXIT1 ("mkstemp failed: %m"); unlink (fname); - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); struct pollfd rfs[1] = { [0] = { .fd = fd, .events = POLLIN } }; @@ -541,10 +394,7 @@ tf_ppoll (void *arg) pthread_cleanup_pop (0); - printf ("%s: ppoll returns with %d (%s)\n", __FUNCTION__, s, - strerror (errno)); - - exit (1); + FAIL_EXIT1 ("ppoll returns with %d: %m", s); } @@ -553,10 +403,7 @@ tf_wait (void *arg) { pid_t pid = fork (); if (pid == -1) - { - puts ("fork failed"); - exit (1); - } + FAIL_EXIT1 ("fork: %m"); if (pid == 0) { @@ -566,27 +413,16 @@ tf_wait (void *arg) exit (0); } - int r; if (arg != NULL) { struct timespec ts = { .tv_sec = 0, .tv_nsec = 100000000 }; while (nanosleep (&ts, &ts) != 0) continue; - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); int s; pthread_cleanup_push (cl, NULL); @@ -595,23 +431,16 @@ tf_wait (void *arg) pthread_cleanup_pop (0); - printf ("%s: wait returns with %d (%s)\n", __FUNCTION__, s, - strerror (errno)); - - exit (1); + FAIL_EXIT1 ("wait returns with %d: %m", s); } static void * tf_waitpid (void *arg) { - pid_t pid = fork (); if (pid == -1) - { - puts ("fork failed"); - exit (1); - } + FAIL_EXIT1 ("fork: %m"); if (pid == 0) { @@ -621,39 +450,25 @@ tf_waitpid (void *arg) exit (0); } - int r; if (arg != NULL) { struct timespec ts = { .tv_sec = 0, .tv_nsec = 100000000 }; while (nanosleep (&ts, &ts) != 0) continue; - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); int s; - pthread_cleanup_push (cl, NULL); + pthread_cleanup_push (cl, NULL); s = waitpid (-1, NULL, 0); pthread_cleanup_pop (0); - printf ("%s: waitpid returns with %d (%s)\n", __FUNCTION__, s, - strerror (errno)); - - exit (1); + FAIL_EXIT1 ("waitpid returns with %d: %m", s); } @@ -662,10 +477,7 @@ tf_waitid (void *arg) { pid_t pid = fork (); if (pid == -1) - { - puts ("fork failed"); - exit (1); - } + FAIL_EXIT1 ("fork: %m"); if (pid == 0) { @@ -675,27 +487,16 @@ tf_waitid (void *arg) exit (0); } - int r; if (arg != NULL) { struct timespec ts = { .tv_sec = 0, .tv_nsec = 100000000 }; while (nanosleep (&ts, &ts) != 0) continue; - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); } - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); int s; pthread_cleanup_push (cl, NULL); @@ -708,32 +509,17 @@ tf_waitid (void *arg) pthread_cleanup_pop (0); - printf ("%s: waitid returns with %d (%s)\n", __FUNCTION__, s, - strerror (errno)); - - exit (1); + FAIL_EXIT1 ("waitid returns with %d: %m", s); } static void * tf_sigpause (void *arg) { - int r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); if (arg != NULL) - { - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: 2nd barrier_wait failed\n", __FUNCTION__); - exit (1); - } - } + xpthread_barrier_wait (&b2); pthread_cleanup_push (cl, NULL); @@ -741,31 +527,17 @@ tf_sigpause (void *arg) pthread_cleanup_pop (0); - printf ("%s: sigpause returned\n", __FUNCTION__); - - exit (1); + FAIL_EXIT1 ("sigpause returned"); } static void * tf_sigsuspend (void *arg) { - int r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: barrier_wait failed\n", __FUNCTION__); - exit (1); - } + xpthread_barrier_wait (&b2); if (arg != NULL) - { - r = pthread_barrier_wait (&b2); - if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) - { - printf ("%s: 2nd barrier_wait failed\n", __FUNCTION__); - exit (1); - } - } + xpthread_barrier_ |
