Remove obsolete comments about sempahores from proc.c.
authorThomas Munro <tmunro@postgresql.org>
Thu, 20 Jun 2019 22:57:07 +0000 (10:57 +1200)
committerThomas Munro <tmunro@postgresql.org>
Thu, 20 Jun 2019 22:57:07 +0000 (10:57 +1200)
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

index 0da5b19719fcd3817592c002e049f0089a9e8137..498373fd0ee1b4b40f3abeeffd149bfa1ddaa1dc 100644 (file)
@@ -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)