diff --git a/Core/WebServer.cpp b/Core/WebServer.cpp index 68ea8525b4..43d415ed62 100644 --- a/Core/WebServer.cpp +++ b/Core/WebServer.cpp @@ -426,8 +426,8 @@ static void ExecuteWebServer() { RegisterServer(http->Port()); double lastRegister = time_now_d(); while (RetrieveStatus() == ServerStatus::RUNNING) { - http->RunSlice(1.0); - + constexpr double webServerSliceSeconds = 0.2f; + http->RunSlice(webServerSliceSeconds); double now = time_now_d(); if (now > lastRegister + 540.0) { RegisterServer(http->Port()); diff --git a/Core/WebServer.h b/Core/WebServer.h index e2713a6e0c..0e9f6abe34 100644 --- a/Core/WebServer.h +++ b/Core/WebServer.h @@ -17,12 +17,16 @@ #pragma once +#include "Common/Common.h" + enum class WebServerFlags { + NONE = 0, DISCS = 1, DEBUGGER = 2, ALL = 1 | 2, }; +ENUM_CLASS_BITOPS(WebServerFlags); bool StartWebServer(WebServerFlags flags); bool StopWebServer(WebServerFlags flags); diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp index 8c0227e758..cbf73a92e2 100644 --- a/UI/NativeApp.cpp +++ b/UI/NativeApp.cpp @@ -749,12 +749,16 @@ void NativeInit(int argc, const char *argv[], const char *savegame_dir, const ch // Easy testing // screenManager->push(new GPUDriverTestScreen()); - if (g_Config.bRemoteShareOnStartup && g_Config.bRemoteDebuggerOnStartup) + WebServerFlags flags = (WebServerFlags)0; + if (g_Config.bRemoteShareOnStartup) { + flags |= WebServerFlags::DISCS; + } + if (g_Config.bRemoteDebuggerOnStartup) { + flags |= WebServerFlags::DEBUGGER; + } + if (flags != WebServerFlags::NONE) { StartWebServer(WebServerFlags::ALL); - else if (g_Config.bRemoteShareOnStartup) - StartWebServer(WebServerFlags::DISCS); - else if (g_Config.bRemoteDebuggerOnStartup) - StartWebServer(WebServerFlags::DEBUGGER); + } std::string sysName = System_GetProperty(SYSPROP_NAME);