From: | Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | LW_SHARED_MASK macro |
Date: | 2015-09-17 11:35:20 |
Message-ID: | CAPpHfdsPmWqz9FB0AnxJrwp1=KLF0n=-iB+QvR0Q8GSmpFVdUQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hackers,
while exploring lwlock.c I found following macro to be strange.
#define LW_SHARED_MASK ((uint32)(1 << 23))
This is macro is used to extract number of shared locks from state.
ereport(LOG,
(errhidestmt(true),
errhidecontext(true),
errmsg("%d: %s(%s): excl %u shared %u haswaiters %u waiters %u rOK %d",
MyProcPid,
where, MainLWLockNames[id],
!!(state & LW_VAL_EXCLUSIVE),
state & LW_SHARED_MASK,
!!(state & LW_FLAG_HAS_WAITERS),
pg_atomic_read_u32(&lock->nwaiters),
!!(state & LW_FLAG_RELEASE_OK))));
Should it be ((uint32) ((1 << 24)-1)) instead?
------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Attachment | Content-Type | Size |
---|---|---|
lw_shared_mask.patch | application/octet-stream | 817 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2015-09-17 12:06:53 | Re: On-demand running query plans using auto_explain and signals |
Previous Message | Robert Haas | 2015-09-17 11:23:48 | planstate_tree_walker |