summary refs log tree commit diff
path: root/nptl/tst-cancel4.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-10-06 08:53:46 +0000
committerUlrich Drepper <drepper@redhat.com>2004-10-06 08:53:46 +0000
commit67060ef581a5e44ced1d08e654f8f63737c51c78 (patch)
tree24c1001a76242d23c029441a4f248c380a7ce9bd /nptl/tst-cancel4.c
parentf38a30861e2c2979a6417801c91ca652f2711959 (diff)
downloadglibc-67060ef581a5e44ced1d08e654f8f63737c51c78.tar.gz
glibc-67060ef581a5e44ced1d08e654f8f63737c51c78.tar.xz
glibc-67060ef581a5e44ced1d08e654f8f63737c51c78.zip
2004-10-05  Dwayne Grant McConnell  <dgm69@us.ibm.com>

	* pthread.c: Mask restart signal during cancel signal handler.
Diffstat (limited to 'nptl/tst-cancel4.c')
-rw-r--r--nptl/tst-cancel4.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/nptl/tst-cancel4.c b/nptl/tst-cancel4.c
index 8dc8aec0af..c3e527fd1c 100644
--- a/nptl/tst-cancel4.c
+++ b/nptl/tst-cancel4.c
@@ -1884,6 +1884,11 @@ static void *
 tf_msgrcv (void *arg)
 {
   tempmsg = msgget (IPC_PRIVATE, 0666 | IPC_CREAT);
+  if (tempmsg == -1)
+    {
+      printf ("%s: msgget failed: %s\n", __FUNCTION__, strerror (errno));
+      exit (1);
+    }
 
   int r = pthread_barrier_wait (&b2);
   if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD)
@@ -1927,6 +1932,8 @@ tf_msgrcv (void *arg)
 
   printf ("%s: msgrcv returned %zd with errno = %m\n", __FUNCTION__, s);
 
+  msgctl (tempmsg, IPC_RMID, NULL);
+
   exit (1);
 }
 
@@ -1940,6 +1947,11 @@ tf_msgsnd (void *arg)
     abort ();
 
   tempmsg = msgget (IPC_PRIVATE, 0666 | IPC_CREAT);
+  if (tempmsg == -1)
+    {
+      printf ("%s: msgget failed: %s\n", __FUNCTION__, strerror (errno));
+      exit (1);
+    }
 
   int r = pthread_barrier_wait (&b2);
   if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD)
@@ -1972,6 +1984,8 @@ tf_msgsnd (void *arg)
 
   printf ("%s: msgsnd returned\n", __FUNCTION__);
 
+  msgctl (tempmsg, IPC_RMID, NULL);
+
   exit (1);
 }