mirror of
https://github.com/postgres/postgres.git
synced 2025-10-25 13:17:41 +03:00
Fix documentation for shmem_startup_hook.
This section claims that each backend executes the
shmem_startup_hook shortly after attaching to shared memory, which
is true for EXEC_BACKEND builds, but not for others. This commit
adds this important detail.
Oversight in commit 964152c476.
Reported-by: Sami Imseih <samimseih@gmail.com>
Reviewed-by: Sami Imseih <samimseih@gmail.com>
Discussion: https://postgr.es/m/CAA5RZ0vEGT1eigGbVt604LkXP6mUPMwPMxQoRCbFny44w%2B9EUQ%40mail.gmail.com
Backpatch-through: 17
This commit is contained in:
@@ -3668,11 +3668,14 @@ LWLockRelease(AddinShmemInitLock);
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
<literal>shmem_startup_hook</literal> provides a convenient place for the
|
<literal>shmem_startup_hook</literal> provides a convenient place for the
|
||||||
initialization code, but it is not strictly required that all such code
|
initialization code, but it is not strictly required that all such code
|
||||||
be placed in this hook. Each backend will execute the registered
|
be placed in this hook. On Windows (and anywhere else where
|
||||||
<literal>shmem_startup_hook</literal> shortly after it attaches to shared
|
<literal>EXEC_BACKEND</literal> is defined), each backend executes the
|
||||||
memory. Note that add-ins should still acquire
|
registered <literal>shmem_startup_hook</literal> shortly after it
|
||||||
|
attaches to shared memory, so add-ins should still acquire
|
||||||
<function>AddinShmemInitLock</function> within this hook, as shown in the
|
<function>AddinShmemInitLock</function> within this hook, as shown in the
|
||||||
example above.
|
example above. On other platforms, only the postmaster process executes
|
||||||
|
the <literal>shmem_startup_hook</literal>, and each backend automatically
|
||||||
|
inherits the pointers to shared memory.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
|||||||
Reference in New Issue
Block a user