about summary refs log tree commit diff
path: root/sysdeps/pthread/tst-cancel2.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/pthread/tst-cancel2.c')
-rw-r--r--sysdeps/pthread/tst-cancel2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/pthread/tst-cancel2.c b/sysdeps/pthread/tst-cancel2.c
index ac38b50115..b4f7098235 100644
--- a/sysdeps/pthread/tst-cancel2.c
+++ b/sysdeps/pthread/tst-cancel2.c
@@ -32,6 +32,10 @@ tf (void *arg)
   char buf[100000];
 
   while (write (fd[1], buf, sizeof (buf)) > 0);
+  /* The write can return -1/EPIPE if the pipe was closed before the
+     thread calls write, which signals a side-effect that must be
+     signaled to the thread.  */
+  pthread_testcancel ();
 
   return (void *) 42l;
 }