From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 6A9D73858CDB for ; Sun, 12 Feb 2023 14:57:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6A9D73858CDB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gnu.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gnu.org Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRDnT-0003dt-HY; Sun, 12 Feb 2023 09:57:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=In-Reply-To:MIME-Version:References:Subject:To:From: Date; bh=uhv1ryaR3RPrKpRZK7DcTcS1MUydF19kisnOaJCdwes=; b=HPpyBWxrPYpaBybwRtuc GXgCYLNrliuq2c60pmCLjFm4rq6ohm0LSthypd1c+5tnO2gwwhSS+fo+UhVAM8Z2KeAtOQ2DNNZDk pgA7z31sROaknTvI3fG2tQBMAKEb4mFu3oBKWp+pYsvsQPg/TE0AoIGCuCXwWgEbsGa5G0OTC5w2Z tJ2QzDsFv24/A5STI2OTffNa1wz2Ttg2oaNFETECKMXTH+PFTjRsefmtxzeIXLhLYfN3CdJVj/M1J zCmWV5WcWCqFg8oga8cmoPOFPXvTT2jJvO1DZRNDgBqSIFKoFIwpRBGqMgrfSRMAM2AeOjmRLhAcT +4v74ertSzxldQ==; Received: from lfbn-bor-1-1163-184.w92-158.abo.wanadoo.fr ([92.158.138.184] helo=begin) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRDnR-00040y-Fb; Sun, 12 Feb 2023 09:57:43 -0500 Received: from samy by begin with local (Exim 4.96) (envelope-from ) id 1pRDnQ-004nkX-01; Sun, 12 Feb 2023 15:57:40 +0100 Date: Sun, 12 Feb 2023 15:57:39 +0100 From: Samuel Thibault To: Sergey Bugaev Cc: bug-hurd@gnu.org, libc-alpha@sourceware.org, =?utf-8?Q?Fl=C3=A1vio?= Cruz Subject: Re: [RFC PATCH glibc 5/12] htl: Fix semaphore reference Message-ID: <20230212145739.ccy5u5ljo46iuzit@begin> Mail-Followup-To: Sergey Bugaev , bug-hurd@gnu.org, libc-alpha@sourceware.org, =?utf-8?Q?Fl=C3=A1vio?= Cruz References: <20230212111044.610942-1-bugaevc@gmail.com> <20230212111044.610942-6-bugaevc@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230212111044.610942-6-bugaevc@gmail.com> Organization: I am not organized User-Agent: NeoMutt/20170609 (1.8.3) X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_PASS,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 List-Id: Applied, thanks! Sergey Bugaev, le dim. 12 févr. 2023 14:10:36 +0300, a ecrit: > '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 */ > -- > 2.39.1 > > -- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.