mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +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