]> granicus.if.org Git - postgresql/commit
Map and unmap the shared memory block before risking VirtualFree.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 30 Apr 2018 21:07:14 +0000 (17:07 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 30 Apr 2018 21:07:14 +0000 (17:07 -0400)
commit73042b8d136fe985746dc762fcb2a4356460842d
tree2cb8746f5e58265160ec3feaaa91e3adadeaac07
parentce07aff48f15a2fa4f91bc67efe1cb3cc9c14bcf
Map and unmap the shared memory block before risking VirtualFree.

The idea here is to get Windows' userspace infrastructure to allocate
whatever space it needs for MapViewOfFileEx() before we release the
locked-down space that we want to map the shared memory block into.

This is a fairly brute-force attempt, and would likely (for example)
fail with large shared memory on 32-bit Windows.  We could perhaps
ameliorate that by mapping only part of the shared memory block in
this way, but for the moment I just want to see if this approach
will fix dory's problem.

Discussion: https://postgr.es/m/25495.1524517820@sss.pgh.pa.us
src/backend/port/win32_shmem.c