diff --git a/src/backend/port/win32_shmem.c b/src/backend/port/win32_shmem.c index 30b07303ff..39953c3de7 100644 --- a/src/backend/port/win32_shmem.c +++ b/src/backend/port/win32_shmem.c @@ -576,6 +576,9 @@ pgwin32_ReserveSharedMemoryRegion(HANDLE hChild) */ elog(LOG, "reserved shared memory region got incorrect address %p, expected %p", address, ShmemProtectiveRegion); + if (VirtualFree(ShmemProtectiveRegion, 0, MEM_RELEASE) == 0) + elog(FATAL, "failed to release reserved memory region (addr=%p): error code %lu", + ShmemProtectiveRegion, GetLastError()); return false; } @@ -592,6 +595,9 @@ pgwin32_ReserveSharedMemoryRegion(HANDLE hChild) { elog(LOG, "reserved shared memory region got incorrect address %p, expected %p", address, UsedShmemSegAddr); + if (VirtualFree(UsedShmemSegAddr, 0, MEM_RELEASE) == 0) + elog(FATAL, "failed to release reserved memory region (addr=%p): error code %lu", + UsedShmemSegAddr, GetLastError()); return false; }