On 2020-01-10 06:23, Michael Paquier wrote:
On Thu, Jan 09, 2020 at 11:15:08AM +0100, Peter Eisentraut wrote:
You mean put he subsequent GrantLock() calls into LockCheckConflicts()? That
would technically save some duplicate code, but it seems weird, because
LockCheckConflicts() is notionally a read-only function that shouldn't
change state.

Nah.  I was thinking about the first part of this "if" clause
LockCheckConflicts is part of here:
    if (lockMethodTable->conflictTab[lockmode] & lock->waitMask)
        status = STATUS_FOUND;
    else
        status = LockCheckConflicts(lockMethodTable, lockmode,
                                    lock, proclock);

But now that I look at it closely it messes up heavily with
ProcSleep() ;)

OK, pushed as it was then.

--
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Reply via email to