From 85c015efb8e6ebaa65558d0d25a3634c9d583799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Thu, 13 Feb 2025 15:13:25 -0600 Subject: [PATCH] Remove redundant shutdown callback --- Core/Core.cpp | 8 -------- Core/Core.h | 4 ---- Core/HLE/sceHttp.cpp | 25 +++++-------------------- GPU/Debugger/Playback.cpp | 12 ------------ GPU/Debugger/Playback.h | 1 + 5 files changed, 6 insertions(+), 44 deletions(-) diff --git a/Core/Core.cpp b/Core/Core.cpp index 8edff61a3c..cd8ac9db31 100644 --- a/Core/Core.cpp +++ b/Core/Core.cpp @@ -71,7 +71,6 @@ static std::mutex m_hInactiveMutex; static int steppingCounter = 0; static std::set lifecycleFuncs; -static std::set stopFuncs; // This can be read and written from ANYWHERE. volatile CoreState coreState = CORE_STEPPING_CPU; @@ -106,16 +105,9 @@ void Core_NotifyLifecycle(CoreLifecycle stage) { } } -void Core_ListenStopRequest(CoreStopRequestFunc func) { - stopFuncs.insert(func); -} - void Core_Stop() { Core_ResetException(); Core_UpdateState(CORE_POWERDOWN); - for (auto func : stopFuncs) { - func(); - } } void Core_UpdateState(CoreState newState) { diff --git a/Core/Core.h b/Core/Core.h index ebcc8c249c..9f6f56dbe3 100644 --- a/Core/Core.h +++ b/Core/Core.h @@ -107,10 +107,6 @@ typedef void (* CoreLifecycleFunc)(CoreLifecycle stage); void Core_ListenLifecycle(CoreLifecycleFunc func); void Core_NotifyLifecycle(CoreLifecycle stage); -// Callback is executed on requesting thread. -typedef void (* CoreStopRequestFunc)(); -void Core_ListenStopRequest(CoreStopRequestFunc callback); - bool Core_IsStepping(); bool Core_IsActive(); diff --git a/Core/HLE/sceHttp.cpp b/Core/HLE/sceHttp.cpp index 0281af67eb..01f2c89037 100644 --- a/Core/HLE/sceHttp.cpp +++ b/Core/HLE/sceHttp.cpp @@ -289,27 +289,7 @@ int HTTPRequest::sendRequest(u32 postDataPtr, u32 postDataSize) { return 0; } -static void __HttpNotifyLifecycle(CoreLifecycle stage) { - if (stage == CoreLifecycle::STOPPING) { - for (const auto& it : httpObjects) { - if (it->className() == name_HTTPRequest) - (static_cast(it.get()))->abortRequest(); - } - } -} - -static void __HttpRequestStop() { - // This can happen from a separate thread. - std::lock_guard guard(httpLock); - for (const auto& it : httpObjects) { - if (it->className() == name_HTTPRequest) - (static_cast(it.get()))->abortRequest(); - } -} - void __HttpInit() { - Core_ListenLifecycle(&__HttpNotifyLifecycle); - Core_ListenStopRequest(&__HttpRequestStop); } void __HttpShutdown() { @@ -317,6 +297,11 @@ void __HttpShutdown() { httpInited = false; httpsInited = false; httpCacheInited = false; + + for (const auto& it : httpObjects) { + if (it->className() == name_HTTPRequest) + (static_cast(it.get()))->abortRequest(); + } httpObjects.clear(); } diff --git a/GPU/Debugger/Playback.cpp b/GPU/Debugger/Playback.cpp index e9122e796d..0807a7aabd 100644 --- a/GPU/Debugger/Playback.cpp +++ b/GPU/Debugger/Playback.cpp @@ -822,16 +822,6 @@ static bool ReadCompressed(u32 fp, void *dest, size_t sz, uint32_t version) { return real_size == sz; } -static void ReplayStop() { - _dbg_assert_(!replayThread.joinable()); - - // This can happen from a separate thread. - lastExecFilename.clear(); - lastExecCommands.clear(); - lastExecPushbuf.clear(); - lastExecVersion = 0; -} - static u32 LoadReplay(const std::string &filename) { PROFILE_THIS_SCOPE("ReplayLoad"); u32 fp = pspFileSystem.OpenFile(filename, FILEACCESS_READ); @@ -911,8 +901,6 @@ void WriteRunDumpCode(u32 codeStart) { ReplayResult RunMountedReplay(const std::string &filename) { _assert_msg_(!gpuDebug->GetRecorder()->IsActivePending(), "Cannot run replay while recording."); - Core_ListenStopRequest(&ReplayStop); - uint32_t version = lastExecVersion; if (lastExecFilename != filename) { // Does this ever happen? Can the filename change, without going through core shutdown/startup? diff --git a/GPU/Debugger/Playback.h b/GPU/Debugger/Playback.h index fe0af7c636..fefd2f9217 100644 --- a/GPU/Debugger/Playback.h +++ b/GPU/Debugger/Playback.h @@ -30,5 +30,6 @@ enum class ReplayResult { void WriteRunDumpCode(u32 addr); ReplayResult RunMountedReplay(const std::string &filename); +void ReplayShutdown(); } // namespace GPURecord