From 1c49dae165bcee69bf3327d6ae20271d82cdf6bf Mon Sep 17 00:00:00 2001
From: Robert Haas <rhaas@postgresql.org>
Date: Thu, 30 Oct 2014 11:35:55 -0400
Subject: [PATCH] "Pin", rather than "keep", dynamic shared memory mappings and
 segments.

Nobody seemed concerned about this naming when it originally went in,
but there's a pending patch that implements the opposite of
dsm_keep_mapping, and the term "unkeep" was judged unpalatable.
"unpin" has existing precedent in the PostgreSQL code base, and the
English language, so use this terminology instead.

Per discussion, back-patch to 9.4.
---
 src/backend/storage/ipc/dsm.c      | 10 +++++-----
 src/backend/storage/ipc/dsm_impl.c |  2 +-
 src/include/storage/dsm.h          |  4 ++--
 src/include/storage/dsm_impl.h     |  2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/backend/storage/ipc/dsm.c b/src/backend/storage/ipc/dsm.c
index a5c008463a..7ce45caaf9 100644
--- a/src/backend/storage/ipc/dsm.c
+++ b/src/backend/storage/ipc/dsm.c
@@ -8,7 +8,7 @@
  * facilities provided by dsm_impl.h and dsm_impl.c, mappings and segments
  * created using this module will be cleaned up automatically.  Mappings
  * will be removed when the resource owner under which they were created
- * is cleaned up, unless dsm_keep_mapping() is used, in which case they
+ * is cleaned up, unless dsm_pin_mapping() is used, in which case they
  * have session lifespan.  Segments will be removed when there are no
  * remaining mappings, or at postmaster shutdown in any case.  After a
  * hard postmaster crash, remaining segments will be removed, if they
@@ -786,7 +786,7 @@ dsm_detach(dsm_segment *seg)
  * only.
  */
 void
-dsm_keep_mapping(dsm_segment *seg)
+dsm_pin_mapping(dsm_segment *seg)
 {
 	if (seg->resowner != NULL)
 	{
@@ -804,11 +804,11 @@ dsm_keep_mapping(dsm_segment *seg)
  *
  * Note that this function does not arrange for the current process to
  * keep the segment mapped indefinitely; if that behavior is desired,
- * dsm_keep_mapping() should be used from each process that needs to
+ * dsm_pin_mapping() should be used from each process that needs to
  * retain the mapping.
  */
 void
-dsm_keep_segment(dsm_segment *seg)
+dsm_pin_segment(dsm_segment *seg)
 {
 	/*
 	 * Bump reference count for this segment in shared memory. This will
@@ -819,7 +819,7 @@ dsm_keep_segment(dsm_segment *seg)
 	dsm_control->item[seg->control_slot].refcnt++;
 	LWLockRelease(DynamicSharedMemoryControlLock);
 
-	dsm_impl_keep_segment(seg->handle, seg->impl_private);
+	dsm_impl_pin_segment(seg->handle, seg->impl_private);
 }
 
 /*
diff --git a/src/backend/storage/ipc/dsm_impl.c b/src/backend/storage/ipc/dsm_impl.c
index af637dc999..befe207f46 100644
--- a/src/backend/storage/ipc/dsm_impl.c
+++ b/src/backend/storage/ipc/dsm_impl.c
@@ -996,7 +996,7 @@ dsm_impl_mmap(dsm_op op, dsm_handle handle, Size request_size,
  * do anything to receive the handle; Windows transfers it automatically.
  */
 void
-dsm_impl_keep_segment(dsm_handle handle, void *impl_private)
+dsm_impl_pin_segment(dsm_handle handle, void *impl_private)
 {
 	switch (dynamic_shared_memory_type)
 	{
diff --git a/src/include/storage/dsm.h b/src/include/storage/dsm.h
index 1d0110d4b2..a83b35fd66 100644
--- a/src/include/storage/dsm.h
+++ b/src/include/storage/dsm.h
@@ -36,8 +36,8 @@ extern void *dsm_remap(dsm_segment *seg);
 extern void dsm_detach(dsm_segment *seg);
 
 /* Resource management functions. */
-extern void dsm_keep_mapping(dsm_segment *seg);
-extern void dsm_keep_segment(dsm_segment *seg);
+extern void dsm_pin_mapping(dsm_segment *seg);
+extern void dsm_pin_segment(dsm_segment *seg);
 extern dsm_segment *dsm_find_mapping(dsm_handle h);
 
 /* Informational functions. */
diff --git a/src/include/storage/dsm_impl.h b/src/include/storage/dsm_impl.h
index 6e2a013411..32cfed2ee9 100644
--- a/src/include/storage/dsm_impl.h
+++ b/src/include/storage/dsm_impl.h
@@ -73,6 +73,6 @@ extern bool dsm_impl_op(dsm_op op, dsm_handle handle, Size request_size,
 extern bool dsm_impl_can_resize(void);
 
 /* Implementation-dependent actions required to keep segment until shudown. */
-extern void dsm_impl_keep_segment(dsm_handle handle, void *impl_private);
+extern void dsm_impl_pin_segment(dsm_handle handle, void *impl_private);
 
 #endif   /* DSM_IMPL_H */
-- 
2.40.0