From patchwork Sun Feb 12 11:10:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergey Bugaev X-Patchwork-Id: 64783 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D9DEE3885C2C for ; Sun, 12 Feb 2023 11:13:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D9DEE3885C2C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1676200403; bh=Gb8UeyCxfAvsMmYbV2q1je0dtXtgo8KztQwbHMHfMZE=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=mqiOarwHwmaIVxXILE+JlbvgEVQZU9/f7tWzp/qo9FajMOW7gsv10+QRgjz1C5NOx A1S34REQn2An6pfbf1UBY/Tmqt5Bac9DfgKzWBguMAUzZ9zAZZG7wgsNFQ3b8X9ZcV i3pAWWET4b1k+uph26/9eK24ADI6+0Udc2FHUEs8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) by sourceware.org (Postfix) with ESMTPS id 63EB63858C27 for ; Sun, 12 Feb 2023 11:11:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 63EB63858C27 Received: by mail-ed1-x52f.google.com with SMTP id cq19so6683052edb.5 for ; Sun, 12 Feb 2023 03:11:18 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Gb8UeyCxfAvsMmYbV2q1je0dtXtgo8KztQwbHMHfMZE=; b=MQlu6W7SBsLS1x6osdgRMMMv9pGvO4cXB/Gt9iOizvHCFYaAq+hZDtHqzVjutb3Uvy 9esY3k7ic5OJko8v0gQ320Ao4gYHnQmoirWLUtqrbDZ2xZPwLaMwnf//tAlMSuH0g7oL KP8UFASd/T6gRLx4WtjxlFkLnvDEAFJCIUeMq9BswwEA9bGtN/ZD89nSsigF6M+TbSPK aUuZyujPm2c8phhMq1zTWhGgWKdC2uF3jRjzZYLTrBaafuGDmCr9Dwi385L9UXq+AnLk zkv8myT9alwm/oP9rKPllMaOiBvZE09V+43ii0qWnMGy03e9wRHAQRrcCxDaYkf/zuW3 tq0A== X-Gm-Message-State: AO0yUKXTaF1jRQkQhW8PTCjri14U5XI8F22iCc7CxP0b1ofrb/yobLzT 0uR8oljdFfQ129EYsjItxw/igNv59kNb4A== X-Google-Smtp-Source: AK7set/fW+m4oWvvqtRjujDA7PiUw/Cjaz373AL5lzsC6oHsiM3gyhZgirHerGM9yBA620uEf/1daA== X-Received: by 2002:a50:d547:0:b0:4ab:15d9:2dae with SMTP id f7-20020a50d547000000b004ab15d92daemr15723852edj.14.1676200277996; Sun, 12 Feb 2023 03:11:17 -0800 (PST) Received: from surface-pro-6.. ([2a00:1370:818c:4a57:2186:c463:9ced:e6fe]) by smtp.gmail.com with ESMTPSA id c61-20020a509fc3000000b004acbe0b36d2sm1266910edf.6.2023.02.12.03.11.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Feb 2023 03:11:17 -0800 (PST) To: bug-hurd@gnu.org, libc-alpha@sourceware.org Cc: =?utf-8?q?Fl=C3=A1vio_Cruz?= , Sergey Bugaev Subject: [RFC PATCH glibc 5/12] htl: Fix semaphore reference Date: Sun, 12 Feb 2023 14:10:36 +0300 Message-Id: <20230212111044.610942-6-bugaevc@gmail.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230212111044.610942-1-bugaevc@gmail.com> References: <20230212111044.610942-1-bugaevc@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sergey Bugaev via Libc-alpha From: Sergey Bugaev Reply-To: Sergey Bugaev Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" 'sem' is the opaque 'sem_t', 'isem' is the actual 'struct new_sem'. Signed-off-by: Sergey Bugaev --- 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 */