[PATCH v1 1/1] use LW_SHARED in dsa.c when appropriate

Nathan Bossart <nathan@postgresql.org>

From: Nathan Bossart <nathan@postgresql.org>
To:
Date: 2025-12-02T17:16:17Z
Lists: pgsql-hackers
---
 src/backend/utils/mmgr/dsa.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/backend/utils/mmgr/dsa.c b/src/backend/utils/mmgr/dsa.c
index c8a72686177..4b6bcffea28 100644
--- a/src/backend/utils/mmgr/dsa.c
+++ b/src/backend/utils/mmgr/dsa.c
@@ -1043,7 +1043,7 @@ dsa_get_total_size(dsa_area *area)
 {
 	size_t		size;
 
-	LWLockAcquire(DSA_AREA_LOCK(area), LW_EXCLUSIVE);
+	LWLockAcquire(DSA_AREA_LOCK(area), LW_SHARED);
 	size = area->control->total_segment_size;
 	LWLockRelease(DSA_AREA_LOCK(area));
 
@@ -1075,7 +1075,7 @@ dsa_get_total_size_from_handle(dsa_handle handle)
 
 	control = (dsa_area_control *) dsm_segment_address(segment);
 
-	LWLockAcquire(&control->lock, LW_EXCLUSIVE);
+	LWLockAcquire(&control->lock, LW_SHARED);
 	size = control->total_segment_size;
 	LWLockRelease(&control->lock);
 
-- 
2.39.5 (Apple Git-154)


--Y0C3mDk/H/BLnDiq--