From 3e3de79dca24ec2503ccce37bb5e9701ef69cddf Mon Sep 17 00:00:00 2001 From: Peter Sykora Date: Sat, 31 Mar 2018 14:49:36 +0200 Subject: [PATCH] [impl] isRunning call for Http server to check whether it is still running [impl] Ability to update system files of the update program --- CCEngine/src/CCServer.cpp | 12 ++++++++++++ CCEngine/src/CCServer.h | 1 + CCEngineLoader/CCEngineLoader.cpp | Bin 8140 -> 8500 bytes 3 files changed, 13 insertions(+) diff --git a/CCEngine/src/CCServer.cpp b/CCEngine/src/CCServer.cpp index 64b17cb..b4d0298 100644 --- a/CCEngine/src/CCServer.cpp +++ b/CCEngine/src/CCServer.cpp @@ -746,6 +746,7 @@ public: public: void run() { + std::lock_guard scopeGuard(m_mutex); // Create and launch a listening port std::make_shared( m_ioc, @@ -766,6 +767,7 @@ public: void shutdown() { + std::lock_guard scopeGuard(m_lock); m_ioc.stop(); for (auto& t : m_threads) { @@ -774,12 +776,18 @@ public: m_threads.clear(); } + bool isRunning() const + { + return m_ioc.stopped(); + } + void clearCache() { m_etagCache.clear(); } private: + mutable std::mutex m_lock; int m_maxThreads; std::string m_docRoot; etag_cache m_etagCache; @@ -813,3 +821,7 @@ void CCServer::run() m_impl->run(); } +bool CCServer::isRunning() const +{ + return m_impl->isRunning(); +} diff --git a/CCEngine/src/CCServer.h b/CCEngine/src/CCServer.h index f6d6fa2..90c760f 100644 --- a/CCEngine/src/CCServer.h +++ b/CCEngine/src/CCServer.h @@ -16,6 +16,7 @@ public: public: void run(); + bool isRunning() const; void shutdown(); void clearCache(); diff --git a/CCEngineLoader/CCEngineLoader.cpp b/CCEngineLoader/CCEngineLoader.cpp index a7004c2e4e5f0d4ba6ed582d95afff4754876351..bdd6b2a6c8d7cdb60c4c8f2a89bedf9840e056ca 100644 GIT binary patch delta 161 zcmX?Ozr|_8HD<=#$%Ycrif#<~3^@!b45TQn`0yk*Z?qPCUpP+ delta 51 zcmV-30L=fiLd-v~)&rAL1Ui#w6AY6e2MV($1zHphA^