/*
* XLOG location of first XLOG record written by this backend's
* current transaction. If backend is not in a transaction or hasn't
* yet modified anything, logRec.xrecoff is zero.
*/
XLogRecPtr logRec;
/* Info about LWLock the process is currently waiting for, if any. */ bool lwWaiting; /* true if waiting for an LW lock */ bool lwExclusive; /* true if waiting for exclusive access */ struct PGPROC *lwWaitLink; /* next waiter for same LW lock */ /* Info about lock the process is currently waiting for, if any. */ /* waitLock and waitHolder are NULL if not currently waiting. */LOCK *waitLock;
/* Lock object we're sleeping on ... */PROCLOCK *waitHolder;
/* Per-holder info for awaited lock */LOCKMODE waitLockMode;
/* type of lock we're waiting for */LOCKMASK heldLocks;
/* bitmask for lock types already held on* this lock object by this backend */
SHM_QUEUE procHolders;
/* list of PROCLOCK objects for locks held* or awaited by this backend */
};