about summary refs log tree commit diff
path: root/nptl/tst-cancel4.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/tst-cancel4.c')
-rw-r--r--nptl/tst-cancel4.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/nptl/tst-cancel4.c b/nptl/tst-cancel4.c
index a8142d9768..19e1baf9a9 100644
--- a/nptl/tst-cancel4.c
+++ b/nptl/tst-cancel4.c
@@ -80,6 +80,10 @@ static int tempmsg = -1;
 static pthread_barrier_t b2;
 
 
+#ifndef IPC_ADDVAL
+# define IPC_ADDVAL 0
+#endif
+
 /* Cleanup handling test.  */
 static int cl_called;
 
@@ -90,6 +94,7 @@ cl (void *arg)
 }
 
 
+
 static void *
 tf_read  (void *arg)
 {
@@ -1872,7 +1877,7 @@ tf_tcdrain (void *arg)
 static void *
 tf_msgrcv (void *arg)
 {
-  tempmsg = msgget (random (), 0666 | IPC_CREAT);
+  tempmsg = msgget (IPC_PRIVATE, 0666 | IPC_CREAT);
 
   int r = pthread_barrier_wait (&b2);
   if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD)
@@ -1903,7 +1908,7 @@ tf_msgrcv (void *arg)
   int randnr;
   /* We need a positive random number.  */
   do
-    randnr = random ();
+    randnr = random () % 64000;
   while (randnr <= 0);
   do
     {
@@ -1928,7 +1933,7 @@ tf_msgsnd (void *arg)
     // blocks we can enable this test to run in both rounds.
     abort ();
 
-  tempmsg = msgget (random (), 0666 | IPC_CREAT);
+  tempmsg = msgget (IPC_PRIVATE, 0666 | IPC_CREAT);
 
   int r = pthread_barrier_wait (&b2);
   if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD)
@@ -1953,7 +1958,7 @@ tf_msgsnd (void *arg)
   } m;
   /* We need a positive random number.  */
   do
-    m.type = random ();
+    m.type = random () % 64000;
   while (m.type <= 0);
   msgsnd (tempmsg, (struct msgbuf *) &m, sizeof (m.mem), 0);