Allow WaitLatch() to be used without a latch.

Thomas Munro <tmunro@postgresql.org>

Commit: 733fa9aa51c526582f100aa0d375e0eb9a6bce8b
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2020-09-23T03:17:30Z
Releases: 14.0
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

Files

PathChange+/−
src/backend/storage/ipc/latch.c modified +19 −4

Discussion