From 6243a316442612eb252ea4e4d922f8c0791d0c8a Mon Sep 17 00:00:00 2001 From: KimLS Date: Fri, 3 Jan 2020 19:12:55 -0800 Subject: [PATCH] Added ability to use default looping behavior of libuv, in use in zone now --- common/event/event_loop.h | 4 ++++ zone/main.cpp | 24 ++---------------------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/common/event/event_loop.h b/common/event/event_loop.h index 268f78c4d..295c0532d 100644 --- a/common/event/event_loop.h +++ b/common/event/event_loop.h @@ -21,6 +21,10 @@ namespace EQ uv_run(&m_loop, UV_RUN_NOWAIT); } + void Run() { + uv_run(&m_loop, UV_RUN_DEFAULT); + } + uv_loop_t* Handle() { return &m_loop; } private: diff --git a/zone/main.cpp b/zone/main.cpp index 9ee3eda25..6d3eee96c 100644 --- a/zone/main.cpp +++ b/zone/main.cpp @@ -548,29 +548,9 @@ int main(int argc, char** argv) { }; EQ::Timer process_timer(loop_fn); - process_timer.Start(1000, true); + process_timer.Start(32, true); - while (RunLoops) { - bool previous_loaded = is_zone_loaded && numclients > 0; - EQ::EventLoop::Get().Process(); - - bool current_loaded = is_zone_loaded && numclients > 0; - if (previous_loaded && !current_loaded) { - process_timer.Stop(); - process_timer.Start(1000, true); - } - else if (!previous_loaded && current_loaded) { - process_timer.Stop(); - process_timer.Start(32, true); - } - - if (current_loaded) { - Sleep(1); - } - else { - Sleep(10); - } - } + EQ::EventLoop::Get().Run(); entity_list.Clear(); entity_list.RemoveAllEncounters(); // gotta do it manually or rewrite lots of shit :P