diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-12-09 21:13:18 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-02-18 15:39:41 +0100 |
commit | 1942647c0d0229aca96602f3617365bd477e94de (patch) | |
tree | 7be0db654c17f227d5db3870b455c7bf0a13cb54 /src/server/worldserver/Main.cpp | |
parent | 8785c0d5a5bf1967ee1469fdaf0d024dd22f0f0d (diff) |
Dep: Replace basic_deadline_timer with std::chrono based basic_waitable_timer
(cherry picked from commit c81183a6600722f3a9bb4996c0849b530fbdd1b0)
Diffstat (limited to 'src/server/worldserver/Main.cpp')
-rw-r--r-- | src/server/worldserver/Main.cpp | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp index 70426698405..63145380745 100644 --- a/src/server/worldserver/Main.cpp +++ b/src/server/worldserver/Main.cpp @@ -93,26 +93,26 @@ int m_ServiceStatus = -1; class FreezeDetector { - public: +public: FreezeDetector(Trinity::Asio::IoContext& ioContext, uint32 maxCoreStuckTime) : _timer(ioContext), _worldLoopCounter(0), _lastChangeMsTime(getMSTime()), _maxCoreStuckTimeInMs(maxCoreStuckTime) { } - static void Start(std::shared_ptr<FreezeDetector> const& freezeDetector) + static void Start(std::shared_ptr<FreezeDetector> const& freezeDetector) + { + freezeDetector->_timer.expires_after(5s); + freezeDetector->_timer.async_wait([freezeDetectorRef = std::weak_ptr(freezeDetector)](boost::system::error_code const& error) mutable { - freezeDetector->_timer.expires_from_now(boost::posix_time::seconds(5)); - freezeDetector->_timer.async_wait([freezeDetectorRef = std::weak_ptr<FreezeDetector>(freezeDetector)](boost::system::error_code const& error) - { - return Handler(freezeDetectorRef, error); - }); - } + Handler(std::move(freezeDetectorRef), error); + }); + } - static void Handler(std::weak_ptr<FreezeDetector> freezeDetectorRef, boost::system::error_code const& error); + static void Handler(std::weak_ptr<FreezeDetector> freezeDetectorRef, boost::system::error_code const& error); - private: - Trinity::Asio::DeadlineTimer _timer; - uint32 _worldLoopCounter; - uint32 _lastChangeMsTime; - uint32 _maxCoreStuckTimeInMs; +private: + Trinity::Asio::DeadlineTimer _timer; + uint32 _worldLoopCounter; + uint32 _lastChangeMsTime; + uint32 _maxCoreStuckTimeInMs; }; void SignalHandler(boost::system::error_code const& error, int signalNumber); @@ -574,10 +574,10 @@ void FreezeDetector::Handler(std::weak_ptr<FreezeDetector> freezeDetectorRef, bo } } - freezeDetector->_timer.expires_from_now(boost::posix_time::seconds(1)); - freezeDetector->_timer.async_wait([freezeDetectorRef](boost::system::error_code const& timerError) + freezeDetector->_timer.expires_after(1s); + freezeDetector->_timer.async_wait([freezeDetectorRef = std::move(freezeDetectorRef)](boost::system::error_code const& error) mutable { - return Handler(freezeDetectorRef, timerError); + Handler(std::move(freezeDetectorRef), error); }); } } |