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
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