mirror of
https://github.com/postgres/postgres.git
synced 2025-07-09 22:41:56 +03:00
Remove superfluous 'pgprocno' field from PGPROC
It was always just the index of the PGPROC entry from the beginning of the proc array. Introduce a macro to compute it from the pointer instead. Reviewed-by: Andres Freund Discussion: https://www.postgresql.org/message-id/8171f1aa-496f-46a6-afc3-c46fe7a9b407@iki.fi
This commit is contained in:
src
backend
access
transam
postmaster
storage
include
@ -4780,7 +4780,7 @@ UnlockBuffers(void)
|
||||
* got a cancel/die interrupt before getting the signal.
|
||||
*/
|
||||
if ((buf_state & BM_PIN_COUNT_WAITER) != 0 &&
|
||||
buf->wait_backend_pgprocno == MyProc->pgprocno)
|
||||
buf->wait_backend_pgprocno == MyProcNumber)
|
||||
buf_state &= ~BM_PIN_COUNT_WAITER;
|
||||
|
||||
UnlockBufHdr(buf, buf_state);
|
||||
@ -4930,7 +4930,7 @@ LockBufferForCleanup(Buffer buffer)
|
||||
LockBuffer(buffer, BUFFER_LOCK_UNLOCK);
|
||||
elog(ERROR, "multiple backends attempting to wait for pincount 1");
|
||||
}
|
||||
bufHdr->wait_backend_pgprocno = MyProc->pgprocno;
|
||||
bufHdr->wait_backend_pgprocno = MyProcNumber;
|
||||
PinCountWaitBuf = bufHdr;
|
||||
buf_state |= BM_PIN_COUNT_WAITER;
|
||||
UnlockBufHdr(bufHdr, buf_state);
|
||||
@ -4994,7 +4994,7 @@ LockBufferForCleanup(Buffer buffer)
|
||||
*/
|
||||
buf_state = LockBufHdr(bufHdr);
|
||||
if ((buf_state & BM_PIN_COUNT_WAITER) != 0 &&
|
||||
bufHdr->wait_backend_pgprocno == MyProc->pgprocno)
|
||||
bufHdr->wait_backend_pgprocno == MyProcNumber)
|
||||
buf_state &= ~BM_PIN_COUNT_WAITER;
|
||||
UnlockBufHdr(bufHdr, buf_state);
|
||||
|
||||
|
Reference in New Issue
Block a user