Re: [HACKERS] LW_SHARED_MASK macro
On 2015-09-21 21:36:15 +0200, Andres Freund wrote: > On 2015-09-21 22:34:46 +0300, Alexander Korotkov wrote: > > Great. BTW, are you going to commit this? > > Yes, will do so tomorrow. And done. Thanks for noticing. Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] LW_SHARED_MASK macro
On 2015-09-21 22:34:46 +0300, Alexander Korotkov wrote: > Great. BTW, are you going to commit this? Yes, will do so tomorrow. Thanks, Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
[HACKERS] LW_SHARED_MASK macro
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(>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 lw_shared_mask.patch Description: Binary data -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] LW_SHARED_MASK macro
Hi, On 2015-09-17 14:35:20 +0300, Alexander Korotkov wrote: > 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(>nwaiters), > !!(state & LW_FLAG_RELEASE_OK; > > > Should it be ((uint32) ((1 << 24)-1)) instead? Argh, that's somewhat embarassing. You're absolutely right. Luckily it's only used for LOCK_DEBUG, but still... Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers