From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Atomic operations within spinlocks |
Date: | 2020-06-11 17:26:53 |
Message-ID: | 20200611172653.l5ioa3uzsbazikw3@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2020-06-10 07:26:32 -0400, Robert Haas wrote:
> On Fri, Jun 5, 2020 at 8:19 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > Randomly noticed while looking at the code:
> > uint64 flagbit = UINT64CONST(1) << (uint64) type;
> >
> > that shouldn't be 64bit, right?
>
> I'm going to admit ignorance here. What's the proper coding rule?
Well, pss_barrierCheckMask member is just 32bit, so it seems odd to
declare the local variable 64bit?
uint64 flagbit = UINT64CONST(1) << (uint64) type;
...
pg_atomic_fetch_or_u32(&slot->pss_barrierCheckMask, flagbit);
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2020-06-11 17:31:28 | Re: global barrier & atomics in signal handlers (Re: Atomic operations within spinlocks) |
Previous Message | Anastasia Lubennikova | 2020-06-11 16:58:43 | Re: pg_upgrade fails with non-standard ACL |