pgsql: Fix min_dynamic_shared_memory on Windows.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix min_dynamic_shared_memory on Windows.
Date: 2023-10-21 21:26:50
Message-ID: E1quJUg-001ik9-9y@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix min_dynamic_shared_memory on Windows.

When min_dynamic_shared_memory is set above 0, we try to find space in a
pre-allocated region of the main shared memory area instead of calling
dsm_impl_XXX() routines to allocate more. The dsm_pin_segment() and
dsm_unpin_segment() routines had a bug: they called dsm_impl_XXX()
routines even for main region segments. Nobody noticed before now
because those routines do nothing on Unix, but on Windows they'd fail
while attempting to duplicate an invalid Windows HANDLE. Add the
missing gating.

Back-patch to 14, where commit 84b1c63a added this feature. Fixes
pgsql-bugs bug #18165.

Reported-by: Maxime Boyer <maxime(dot)boyer(at)cra-arc(dot)gc(dot)ca>
Tested-by: Alexander Lakhin <exclusion(at)gmail(dot)com>
Discussion: https://postgr.es/m/18165-bf4f525cea6e51de%40postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/dab889d60bac3fbf691973ca1770f2eb50547999

Modified Files
--------------
src/backend/storage/ipc/dsm.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2023-10-21 21:27:04 pgsql: Fix min_dynamic_shared_memory on Windows.
Previous Message Tom Lane 2023-10-21 17:35:33 pgsql: Allow ALTER SYSTEM to set unrecognized custom GUCs.