diff options
Diffstat (limited to 'nptl/tst-cancel4.c')
-rw-r--r-- | nptl/tst-cancel4.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/nptl/tst-cancel4.c b/nptl/tst-cancel4.c index 8b0b735ada..a8142d9768 100644 --- a/nptl/tst-cancel4.c +++ b/nptl/tst-cancel4.c @@ -1891,6 +1891,8 @@ tf_msgrcv (void *arg) } } + ssize_t s; + pthread_cleanup_push (cl, NULL); struct @@ -1906,13 +1908,13 @@ tf_msgrcv (void *arg) do { errno = 0; - msgrcv (tempmsg, (struct msgbuf *) &m, 10, randnr, 0); + s = msgrcv (tempmsg, (struct msgbuf *) &m, 10, randnr, 0); } - while (errno == EIDRM); + while (errno == EIDRM || errno == EINTR); pthread_cleanup_pop (0); - printf ("%s: msgrcv returned\n", __FUNCTION__); + printf ("%s: msgrcv returned %zd with errno = %m\n", __FUNCTION__, s); exit (1); } |