Silence compiler warnings
authorJoe Conway <mail@joeconway.com>
Mon, 2 Jan 2017 22:42:44 +0000 (14:42 -0800)
committerJoe Conway <mail@joeconway.com>
Mon, 2 Jan 2017 22:42:44 +0000 (14:42 -0800)
Rearrange a bit of code to ensure that 'mode' in LWLockRelease is
obviously always set, which seems a bit cleaner and avoids a compiler
warning (thanks to Robert for the suggestion!).

Back-patch back to 9.5 where the warning is first seen.

Author: Stephen Frost
Discussion: https://postgr.es/m/20161129152102.GR13284%40tamriel.snowman.net

src/backend/storage/lmgr/lwlock.c

index 2671aef22bfcab33d261835453bad1b94c4a1496..32fdc088cff974ef73e16a0e1a191ee475459f79 100644 (file)
@@ -1533,15 +1533,14 @@ LWLockRelease(LWLock *lock)
     * be the latest-acquired lock; so search array backwards.
     */
    for (i = num_held_lwlocks; --i >= 0;)
-   {
        if (lock == held_lwlocks[i].lock)
-       {
-           mode = held_lwlocks[i].mode;
            break;
-       }
-   }
+
    if (i < 0)
        elog(ERROR, "lock %s %d is not held", T_NAME(lock), T_ID(lock));
+
+   mode = held_lwlocks[i].mode;
+
    num_held_lwlocks--;
    for (; i < num_held_lwlocks; i++)
        held_lwlocks[i] = held_lwlocks[i + 1];