Allow WaitLatch() to be used without a latch.
authorThomas Munro <tmunro@postgresql.org>
Wed, 23 Sep 2020 03:17:30 +0000 (15:17 +1200)
committerThomas Munro <tmunro@postgresql.org>
Wed, 23 Sep 2020 03:17:30 +0000 (15:17 +1200)
commit733fa9aa51c526582f100aa0d375e0eb9a6bce8b
tree8334a2108975ccb7cc4336fd76bccae9a2453a9a
parent2e3c19462da930d1d018caa3daabca00159b4b18
Allow WaitLatch() to be used without a latch.

Due to flaws in commit 3347c982bab, using WaitLatch() without
WL_LATCH_SET could cause an assertion failure or crash.  Repair.

While here, also add a check that the latch we're switching to belongs
to this backend, when changing from one latch to another.

Discussion: https://postgr.es/m/CA%2BhUKGK1607VmtrDUHQXrsooU%3Dap4g4R2yaoByWOOA3m8xevUQ%40mail.gmail.com
src/backend/storage/ipc/latch.c