From 62a6d5667d6220fd5711cfa7d93d4ca96611d644 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Wed, 17 Aug 2016 19:24:22 +0200 Subject: [PATCH] Fix: IDO marks objects as inactive on shutdown fixes #12418 --- lib/base/application.cpp | 5 +++++ lib/base/application.hpp | 2 ++ lib/db_ido/dbconnection.cpp | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/base/application.cpp b/lib/base/application.cpp index 106410642..712af5c22 100644 --- a/lib/base/application.cpp +++ b/lib/base/application.cpp @@ -324,6 +324,11 @@ mainloop: UninitializeBase(); } +bool Application::IsShuttingDown(void) +{ + return m_ShuttingDown; +} + void Application::OnShutdown(void) { /* Nothing to do here. */ diff --git a/lib/base/application.hpp b/lib/base/application.hpp index 9e5bb3d14..b732378ca 100644 --- a/lib/base/application.hpp +++ b/lib/base/application.hpp @@ -73,6 +73,8 @@ public: static void RequestRestart(void); static void RequestReopenLogs(void); + static bool IsShuttingDown(void); + static void SetDebuggingSeverity(LogSeverity severity); static LogSeverity GetDebuggingSeverity(void); diff --git a/lib/db_ido/dbconnection.cpp b/lib/db_ido/dbconnection.cpp index f07ba70c5..329c93bac 100644 --- a/lib/db_ido/dbconnection.cpp +++ b/lib/db_ido/dbconnection.cpp @@ -430,7 +430,7 @@ bool DbConnection::GetStatusUpdate(const DbObject::Ptr& dbobj) const void DbConnection::UpdateObject(const ConfigObject::Ptr& object) { - if (!GetConnected()) + if (!GetConnected() || Application::IsShuttingDown()) return; DbObject::Ptr dbobj = DbObject::GetOrCreateByObject(object);