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>
|
||||
<literal>shmem_startup_hook</literal> provides a convenient place for the
|
||||
initialization code, but it is not strictly required that all such code
|
||||
be placed in this hook. Each backend will execute the registered
|
||||
<literal>shmem_startup_hook</literal> shortly after it attaches to shared
|
||||
memory. Note that add-ins should still acquire
|
||||
be placed in this hook. On Windows (and anywhere else where
|
||||
<literal>EXEC_BACKEND</literal> is defined), each backend executes the
|
||||
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
|
||||
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>
|
||||
|
||||
Reference in New Issue
Block a user