]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Add comment to explain why PGReserveSemaphores() is called early
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 6 Nov 2025 10:50:10 +0000 (12:50 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 6 Nov 2025 12:20:48 +0000 (14:20 +0200)
Before commit e25626677f, PGReserveSemaphores() had to be called
before SpinlockSemaInit() because spinlocks were implemented using
semaphores on some platforms (--disable-spinlocks). Add a comment
explaining that.

Author: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Discussion: https://www.postgresql.org/message-id/CAExHW5seSZpPx-znjidVZNzdagGHOk06F+Ds88MpPUbxd1kTaA@mail.gmail.com
Backpatch-to: 18
src/backend/storage/ipc/ipci.c

index 10ffce8d1745a14f33e95d89ccf446b452697740..19f9c77448885de5fcff1a345fee7e7f5c990fb8 100644 (file)
@@ -227,7 +227,9 @@ CreateSharedMemoryAndSemaphores(void)
        InitShmemAccess(seghdr);
 
        /*
-        * Create semaphores
+        * Create semaphores.  (This is done here for historical reasons.  We used
+        * to support emulating spinlocks with semaphores, which required
+        * initializing semaphores early.)
         */
        PGReserveSemaphores(numSemas);