about summary refs log tree commit diff
path: root/nptl/tst-cond22.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-09-15 07:48:10 +0000
committerUlrich Drepper <drepper@redhat.com>2006-09-15 07:48:10 +0000
commit4cd3633d1acf8861ace92260f07893e6fdd173e9 (patch)
tree6cc5894e130b993aaa0cd173a0102eb4fddba567 /nptl/tst-cond22.c
parent30aa57851a93d6efd6493c5a29cf82f58083bdf4 (diff)
downloadglibc-4cd3633d1acf8861ace92260f07893e6fdd173e9.tar.gz
glibc-4cd3633d1acf8861ace92260f07893e6fdd173e9.tar.xz
glibc-4cd3633d1acf8861ace92260f07893e6fdd173e9.zip
2006-09-14 Jakub Jelinek <jakub@redhat.com> cvs/fedora-glibc-20060915T0943
	    Steven Munroe  <sjmunroe@us.ibm.com>
	    
	* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 4 new cap
	names to the beginning.  Rename "cell" to "cellbe".
	(_dl_powerpc_platforms): New.
	* sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
	(HWCAP_IMPORTANT): Remove power{4,5,5+} and cell.
	(_DL_PLATFORMS_COUNT, _DL_FIRST_PLATFORM): Define.
	(_DL_HWCAP_PLATFORM): Define to new mask.
	(_dl_platform_string, _dl_string_platform): New functions.
	* sysdeps/powerpc/sysdep.h (PPC_FEATURE_BOOKE, PPC_FEATURE_SMT,
	PPC_FEATURE_ICACHE_SNOOP, PPC_FEATURE_ARCH_2_05): Define.
Diffstat (limited to 'nptl/tst-cond22.c')
-rw-r--r--nptl/tst-cond22.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/nptl/tst-cond22.c b/nptl/tst-cond22.c
index e7c8d01b5e..aff38fcc8d 100644
--- a/nptl/tst-cond22.c
+++ b/nptl/tst-cond22.c
@@ -34,20 +34,19 @@ tf (void *arg)
      the cond_wait call left the cancelable area and is then waiting
      on the mutex.  In this case the beginning of the second cond_wait
      call will cause the cancellation to happen.  */
-  while (1)
-    {
-      if (pthread_cond_wait (&c, &m) != 0)
-	{
-	  printf ("%s: cond_wait failed\n", __func__);
-	  exit (1);
-	}
-      if (pthread_mutex_unlock (&m) != 0)
-	{
-	  printf ("%s: mutex_unlock failed\n", __func__);
-	  exit (1);
-	}
-    }
+  do
+    if (pthread_cond_wait (&c, &m) != 0)
+      {
+	printf ("%s: cond_wait failed\n", __func__);
+	exit (1);
+      }
+  while (arg == NULL);
   pthread_cleanup_pop (0);
+  if (pthread_mutex_unlock (&m) != 0)
+    {
+      printf ("%s: mutex_unlock failed\n", __func__);
+      exit (1);
+    }
   return NULL;
 }
 
@@ -112,7 +111,7 @@ do_test (void)
 	  c.__data.__wakeup_seq, c.__data.__woken_seq, c.__data.__mutex,
 	  c.__data.__nwaiters, c.__data.__broadcast_seq);
 
-  if (pthread_create (&th, NULL, tf, NULL) != 0)
+  if (pthread_create (&th, NULL, tf, (void *) 1l) != 0)
     {
       puts ("2nd create failed");
       return 1;