From bedf271e1f59bb00a3b2b385edbe6ef098c82a62 Mon Sep 17 00:00:00 2001 From: Dmitry Yemanov Date: Tue, 29 Oct 2024 11:27:18 +0300 Subject: [PATCH] Fix missing synchronization of the shared monitoring data --- src/jrd/Monitoring.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/jrd/Monitoring.cpp b/src/jrd/Monitoring.cpp index 4fef7456dc..032f725407 100644 --- a/src/jrd/Monitoring.cpp +++ b/src/jrd/Monitoring.cpp @@ -507,7 +507,10 @@ MonitoringSnapshot::MonitoringSnapshot(thread_db* tdbb, MemoryPool& pool) if (LCK_lock(tdbb, lock, LCK_EX, LCK_NO_WAIT)) { LCK_release(tdbb, lock); + + MonitoringData::Guard guard(dbb->dbb_monitoring_data); dbb->dbb_monitoring_data->cleanup(attId); + continue; } @@ -541,7 +544,6 @@ MonitoringSnapshot::MonitoringSnapshot(thread_db* tdbb, MemoryPool& pool) { // scope for the guard MonitoringData::Guard guard(dbb->dbb_monitoring_data); - dbb->dbb_monitoring_data->read(userNamePtr, temp_space); }