Allow DSM segments to be created as pinned

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: 767bc028e5f001351feb498acef9a87c123093d6
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2017-03-28T22:44:30Z
Releases: 10.0
Allow DSM segments to be created as pinned

dsm_create and dsm_attach assumed that a current resource owner was
always in place.  Exploration with the API show that this is
inconvenient: sometimes one must create a dummy resowner, create/attach
the DSM, only to pin the mapping later, which is wasteful.  Change
create/attach so that if there is no current resowner, the dsm is
effectively pinned right from the start.

Discussion: https://postgr.es/m/20170324232710.32acsfsvjqfgc6ud@alvherre.pgsql
Reviewed by Thomas Munro.

Files

PathChange+/−
src/backend/storage/ipc/dsm.c modified +16 −2

Discussion