mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +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:
		| @@ -3448,11 +3448,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