From 41346dab50a021f513a74981911038fba0e0ff8b Mon Sep 17 00:00:00 2001 From: Alin Moldovean Date: Tue, 15 Mar 2022 15:29:57 +0200 Subject: [PATCH] fix CurrentSubscriptionCount at CloseSession() with active subscriptions --- .../Opc.Ua.Server/Subscription/SubscriptionManager.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Libraries/Opc.Ua.Server/Subscription/SubscriptionManager.cs b/Libraries/Opc.Ua.Server/Subscription/SubscriptionManager.cs index 3ba5afad24..0f847a799a 100644 --- a/Libraries/Opc.Ua.Server/Subscription/SubscriptionManager.cs +++ b/Libraries/Opc.Ua.Server/Subscription/SubscriptionManager.cs @@ -260,6 +260,7 @@ namespace Opc.Ua.Server // close the publish queue for the session. SessionPublishQueue queue = null; IList subscriptionsToDelete = null; + uint publishingIntervalCount = 0; lock (m_lock) { @@ -304,6 +305,16 @@ namespace Opc.Ua.Server // delete subscription. subscription.Delete(context); + + // get the count for the diagnostics. + publishingIntervalCount = GetPublishingIntervalCount(); + + lock (m_server.DiagnosticsWriteLock) + { + ServerDiagnosticsSummaryDataType diagnostics = m_server.ServerDiagnostics; + diagnostics.CurrentSubscriptionCount--; + diagnostics.PublishingIntervalCount = publishingIntervalCount; + } } // mark the subscriptions as abandoned.