mirror of
https://github.com/postgres/postgres.git
synced 2025-06-04 12:42:24 +03:00
"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.
This commit is contained in:
parent
ae3eb9b8ef
commit
1c49dae165
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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. */
|
||||
|
@ -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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user