From 25b93a2967a4ebfb90168ca087026cc697fc4b77 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Fri, 21 Jun 2019 10:57:07 +1200 Subject: [PATCH] Remove obsolete comments about sempahores from proc.c. Commit 6753333f switched from a semaphore-based wait to a latch-based wait for ProcSleep()/ProcWakeup(), but left behind some stray references to semaphores. Back-patch to 9.5. Reviewed-by: Daniel Gustafsson, Michael Paquier Discussion: https://postgr.es/m/CA+hUKGLs5H6zhmgTijZ1OaJvC1sG0=AFXc1aHuce32tKiQrdEA@mail.gmail.com --- src/backend/storage/lmgr/proc.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index 0da5b19719..498373fd0e 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -1196,8 +1196,7 @@ ProcSleep(LOCALLOCK *locallock, LockMethod lockMethodTable) /* * If we detected deadlock, give up without waiting. This must agree with - * CheckDeadLock's recovery code, except that we shouldn't release the - * semaphore since we haven't tried to lock it yet. + * CheckDeadLock's recovery code. */ if (early_deadlock) { @@ -1233,9 +1232,9 @@ ProcSleep(LOCALLOCK *locallock, LockMethod lockMethodTable) /* * Set timer so we can wake up after awhile and check for a deadlock. If a - * deadlock is detected, the handler releases the process's semaphore and - * sets MyProc->waitStatus = STATUS_ERROR, allowing us to know that we - * must report failure rather than success. + * deadlock is detected, the handler sets MyProc->waitStatus = + * STATUS_ERROR, allowing us to know that we must report failure rather + * than success. * * By delaying the check until we've waited for a bit, we can avoid * running the rather expensive deadlock-check code in most cases. @@ -1578,7 +1577,7 @@ ProcSleep(LOCALLOCK *locallock, LockMethod lockMethodTable) /* - * ProcWakeup -- wake up a process by releasing its private semaphore. + * ProcWakeup -- wake up a process by setting its latch. * * Also remove the process from the wait queue and set its links invalid. * RETURN: the next process in the wait queue. @@ -1713,8 +1712,7 @@ CheckDeadLock(void) * we know that we don't have to wait anymore. * * We check by looking to see if we've been unlinked from the wait queue. - * This is quicker than checking our semaphore's state, since no kernel - * call is needed, and it is safe because we hold the lock partition lock. + * This is safe because we hold the lock partition lock. */ if (MyProc->links.prev == NULL || MyProc->links.next == NULL)