From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1792) id 87F193858D1E; Sun, 12 Feb 2023 14:57:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 87F193858D1E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1676213859; bh=pgSHSCQjfD/EatvcIdtANgCfMK6i1psgqoNVwvymDHk=; h=From:To:Subject:Date:From; b=A0dFRMSZIbcvaZ2xt3jQIhkVU1VREzeq9CzV7xzbj8Az/ecMOT7YmeENpwxXqin5/ o5n12KJBKhm/9ppRcO2qSAtWPC8szjJR3nYt1QRRS173rCr+UgNnOGhOQxKiBAWmlk yje1W/NPe5Zn+31zYyuLA6gy7Spuv2KbfYw0mEU0= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Samuel Thibault To: glibc-cvs@sourceware.org Subject: [glibc] htl: Fix semaphore reference X-Act-Checkin: glibc X-Git-Author: Sergey Bugaev X-Git-Refname: refs/heads/master X-Git-Oldrev: 48941024bab62ebbd3588dc0d75ba0a6db9ea389 X-Git-Newrev: 3d008a92a816d4fcf07701f2d28dd8d6f9244b3b Message-Id: <20230212145739.87F193858D1E@sourceware.org> Date: Sun, 12 Feb 2023 14:57:39 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3d008a92a816d4fcf07701f2d28dd8d6f9244b3b commit 3d008a92a816d4fcf07701f2d28dd8d6f9244b3b Author: Sergey Bugaev Date: Sun Feb 12 14:10:36 2023 +0300 htl: Fix semaphore reference 'sem' is the opaque 'sem_t', 'isem' is the actual 'struct new_sem'. Signed-off-by: Sergey Bugaev Message-Id: <20230212111044.610942-6-bugaevc@gmail.com> Diff: --- 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 8f2df6e76e..9974e9aeeb 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 */