Move WaitLSNShmemInit() to CreateOrAttachShmemStructs()
authorAlexander Korotkov <[email protected]>
Tue, 2 Apr 2024 23:55:03 +0000 (02:55 +0300)
committerAlexander Korotkov <[email protected]>
Tue, 2 Apr 2024 23:55:03 +0000 (02:55 +0300)
Thanks to Andres Freund, Thomas Munrom and David Rowley for investigating
this issue.

Discussion: https://postgr.es/m/CAPpHfdvap5mMLikt8CUjA0osAvCJHT0qnYeR3f84EJ_Kvse0mg%40mail.gmail.com

src/backend/storage/ipc/ipci.c

index 5aed90c9355ff568137de17644ec1380a40f3f06..90c84fec27a8578f06ae3016bdda52894c3cac65 100644 (file)
@@ -246,11 +246,6 @@ CreateSharedMemoryAndSemaphores(void)
    /* Initialize subsystems */
    CreateOrAttachShmemStructs();
 
-   /*
-    * Init array of Latches in shared memory for wait lsn
-    */
-   WaitLSNShmemInit();
-
 #ifdef EXEC_BACKEND
 
    /*
@@ -364,6 +359,7 @@ CreateOrAttachShmemStructs(void)
    StatsShmemInit();
    WaitEventExtensionShmemInit();
    InjectionPointShmemInit();
+   WaitLSNShmemInit();
 }
 
 /*