Improve test_lwlock_tranches

While working on refactoring how shmem is allocated, I made a mistake
where the main LWLock array did not reserve space for the LWLocks
allocated with RequestNamedLWLockTranche(), and the test still
passed. Matthias van de Meent spotted that before it got committed,
but in order to catch such mistakes in the future, add checks in
test_lwlock_tranches that the locks allocated with
RequestNamedLWLockTranche() can be acquired and released.

Another change is to stop requesting multiple tranches with the same
name with RequestNamedLWLockTranche(). As soon as I started to test
using the locks I realized that's bogus, and the next commit will
forbid it. Keep test coverage for duplicates requested with
LWLockNewTrancheId() for now, but make it more clear that that's what
the test does.

Reviewed-by: Sami Imseih <[email protected]>
Discussion: 
https://www.postgresql.org/message-id/[email protected]
Discussion: 
https://www.postgresql.org/message-id/CAEze2WjgCROMMXY0+j8FFdm3iFcr7By-+6Mwiz=pggseydi...@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/92a685e4070d01653daac1d60de6c155723a5c68

Modified Files
--------------
.../expected/test_lwlock_tranches.out              | 61 +++++++++++----
.../sql/test_lwlock_tranches.sql                   | 44 +++++++++--
.../test_lwlock_tranches--1.0.sql                  |  7 +-
.../test_lwlock_tranches/test_lwlock_tranches.c    | 90 +++++++++++++---------
4 files changed, 146 insertions(+), 56 deletions(-)

Reply via email to