summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorNathan Bossart2025-12-15 20:27:16 +0000
committerNathan Bossart2025-12-15 20:27:16 +0000
commit48d4a1423d2e92d10077365532d92e059ba2eb2e (patch)
treedeb5eb18eaef14743bff7889a3f3112cda58d5c6 /doc/src
parent64bf53dd61ea3224020bb340725a4df6a27bc974 (diff)
Allow passing a pointer to GetNamedDSMSegment()'s init callback.
This commit adds a new "void *arg" parameter to GetNamedDSMSegment() that is passed to the initialization callback function. This is useful for reusing an initialization callback function for multiple DSM segments. Author: Zsolt Parragi <zsolt.parragi@percona.com> Reviewed-by: Sami Imseih <samimseih@gmail.com> Discussion: https://postgr.es/m/CAN4CZFMjh8TrT9ZhWgjVTzBDkYZi2a84BnZ8bM%2BfLPuq7Cirzg%40mail.gmail.com
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/xfunc.sgml9
1 files changed, 6 insertions, 3 deletions
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 2de3309267d..e9288bd6b5e 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -3696,15 +3696,18 @@ LWLockRelease(AddinShmemInitLock);
use the shared memory should obtain a pointer to it by calling:
<programlisting>
void *GetNamedDSMSegment(const char *name, size_t size,
- void (*init_callback) (void *ptr),
- bool *found)
+ void (*init_callback) (void *ptr, void *arg),
+ bool *found, void *arg)
</programlisting>
If a dynamic shared memory segment with the given name does not yet
exist, this function will allocate it and initialize it with the provided
<function>init_callback</function> callback function. If the segment has
already been allocated and initialized by another backend, this function
simply attaches the existing dynamic shared memory segment to the current
- backend.
+ backend. In the former case, <function>GetNamedDSMSegment</function>
+ passes the <literal>void *arg</literal> argument to the
+ <function>init_callback</function>. This is particularly useful for
+ reusing an initialization callback function for multiple DSM segments.
</para>
<para>