about summary refs log tree commit diff
path: root/nptl/sysdeps/pthread
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-03-19 03:34:48 +0000
committerRoland McGrath <roland@gnu.org>2003-03-19 03:34:48 +0000
commit043ad426e7927a49a872e915c3cde88b682aea71 (patch)
tree5bb6178c065a279b56573a3fca4b2d06b45c2f32 /nptl/sysdeps/pthread
parent8a477363f4c791c64c6a7e4c2c5f961863db601d (diff)
downloadglibc-043ad426e7927a49a872e915c3cde88b682aea71.tar.gz
glibc-043ad426e7927a49a872e915c3cde88b682aea71.tar.xz
glibc-043ad426e7927a49a872e915c3cde88b682aea71.zip
* Versions (libpthread: GLIBC_2.2): Remove
	pthread_barrierattr_getpshared, never really existed.
	(libpthread: GLIBC_2.0): Move __pthread_initialize to ...
	(libpthread: GLIBC_PRIVATE): ... here.
Diffstat (limited to 'nptl/sysdeps/pthread')
-rw-r--r--nptl/sysdeps/pthread/pthread_cond_timedwait.c50
1 files changed, 26 insertions, 24 deletions
diff --git a/nptl/sysdeps/pthread/pthread_cond_timedwait.c b/nptl/sysdeps/pthread/pthread_cond_timedwait.c
index e0200b4cd8..23cf0acb99 100644
--- a/nptl/sysdeps/pthread/pthread_cond_timedwait.c
+++ b/nptl/sysdeps/pthread/pthread_cond_timedwait.c
@@ -93,36 +93,38 @@ __pthread_cond_timedwait (cond, mutex, abstime)
   while (1)
     {
       struct timespec rt;
+      {
 #ifdef __NR_clock_gettime
-      INTERNAL_SYSCALL_DECL (err);
-      int val = INTERNAL_SYSCALL (clock_gettime, err, 2, cond->__data.__clock,
-				  &ts);
+	INTERNAL_SYSCALL_DECL (err);
+	int val = INTERNAL_SYSCALL (clock_gettime, err, 2,
+				    cond->__data.__clock, &rt);
 # ifndef __ASSUME_POSIX_TIMERS
-      if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (val, err), 0))
-	{
-	  struct timeval tv;
-	  (void) gettimeofday (&tv, NULL);
-
-	  /* Convert the absolute timeout value to a relative timeout.  */
-	  rt.tv_sec = abstime->tv_sec - tv.tv_sec;
-	  rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
-	}
-      else
+	if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (val, err), 0))
+	  {
+	    struct timeval tv;
+	    (void) gettimeofday (&tv, NULL);
+
+	    /* Convert the absolute timeout value to a relative timeout.  */
+	    rt.tv_sec = abstime->tv_sec - tv.tv_sec;
+	    rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
+	  }
+	else
 # endif
-	{
-	  /* Convert the absolute timeout value to a relative timeout.  */
-	  rt.tv_sec = abstime->tv_sec - rt.tv_sec;
-	  rt.tv_nsec = abstime->tv_nsec - rt.tv_nsec;
-	}
+	  {
+	    /* Convert the absolute timeout value to a relative timeout.  */
+	    rt.tv_sec = abstime->tv_sec - rt.tv_sec;
+	    rt.tv_nsec = abstime->tv_nsec - rt.tv_nsec;
+	  }
 #else
-      /* Get the current time.  So far we support only one clock.  */
-      struct timeval tv;
-      (void) gettimeofday (&tv, NULL);
+	/* Get the current time.  So far we support only one clock.  */
+	struct timeval tv;
+	(void) gettimeofday (&tv, NULL);
 
-      /* Convert the absolute timeout value to a relative timeout.  */
-      rt.tv_sec = abstime->tv_sec - tv.tv_sec;
-      rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
+	/* Convert the absolute timeout value to a relative timeout.  */
+	rt.tv_sec = abstime->tv_sec - tv.tv_sec;
+	rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
 #endif
+      }
       if (rt.tv_nsec < 0)
 	{
 	  rt.tv_nsec += 1000000000;