bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH glibc 5/12] htl: Fix semaphore reference


From: Sergey Bugaev
Subject: [RFC PATCH glibc 5/12] htl: Fix semaphore reference
Date: Sun, 12 Feb 2023 14:10:36 +0300

'sem' is the opaque 'sem_t', 'isem' is the actual 'struct new_sem'.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
---
 sysdeps/htl/sem-timedwait.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/sysdeps/htl/sem-timedwait.c b/sysdeps/htl/sem-timedwait.c
index 8f2df6e7..9974e9ae 100644
--- a/sysdeps/htl/sem-timedwait.c
+++ b/sysdeps/htl/sem-timedwait.c
@@ -60,7 +60,7 @@ __sem_timedwait_internal (sem_t *restrict sem,
   int cancel_oldtype = LIBC_CANCEL_ASYNC();
 
 #if __HAVE_64B_ATOMICS
-  uint64_t d = atomic_fetch_add_relaxed (&sem->data,
+  uint64_t d = atomic_fetch_add_relaxed (&isem->data,
                 (uint64_t) 1 << SEM_NWAITERS_SHIFT);
 
   pthread_cleanup_push (__sem_wait_cleanup, isem);
@@ -72,11 +72,11 @@ __sem_timedwait_internal (sem_t *restrict sem,
          /* No token, sleep.  */
          if (timeout)
            err = __lll_abstimed_wait_intr (
-                     ((unsigned int *) &sem->data) + SEM_VALUE_OFFSET,
+                     ((unsigned int *) &isem->data) + SEM_VALUE_OFFSET,
                      0, timeout, flags, clock_id);
          else
            err = __lll_wait_intr (
-                     ((unsigned int *) &sem->data) + SEM_VALUE_OFFSET,
+                     ((unsigned int *) &isem->data) + SEM_VALUE_OFFSET,
                      0, flags);
 
          if (err != 0 && err != KERN_INVALID_ARGUMENT)
@@ -92,12 +92,12 @@ __sem_timedwait_internal (sem_t *restrict sem,
            }
 
          /* Token changed */
-         d = atomic_load_relaxed (&sem->data);
+         d = atomic_load_relaxed (&isem->data);
        }
       else
        {
          /* Try to acquire and dequeue.  */
-         if (atomic_compare_exchange_weak_acquire (&sem->data,
+         if (atomic_compare_exchange_weak_acquire (&isem->data,
              &d, d - 1 - ((uint64_t) 1 << SEM_NWAITERS_SHIFT)))
            {
              /* Success */
-- 
2.39.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]