diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2022-07-05 18:20:39 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-05 18:20:39 -0400 |
commit | 07e3c56f0de7a1567b1ae443abb64b767a31ed8c (patch) | |
tree | 3bd7d56181d79c69988d3f6d1310d9137cbb482f /src/core/cpu_manager.h | |
parent | eb4ce48b65f6c9ad227547daab7d1ff2b97c1690 (diff) | |
parent | ed0319cfed2c99e6366aaf725d96bb28a9332e4d (diff) |
Merge pull request #8532 from liamwhite/fiber-supplements
common/fiber: make fibers easier to use
Diffstat (limited to 'src/core/cpu_manager.h')
-rw-r--r-- | src/core/cpu_manager.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/core/cpu_manager.h b/src/core/cpu_manager.h index f0751fc58..76dc58ee1 100644 --- a/src/core/cpu_manager.h +++ b/src/core/cpu_manager.h @@ -50,10 +50,15 @@ public: void Initialize(); void Shutdown(); - static std::function<void(void*)> GetGuestThreadStartFunc(); - static std::function<void(void*)> GetIdleThreadStartFunc(); - static std::function<void(void*)> GetShutdownThreadStartFunc(); - void* GetStartFuncParameter(); + std::function<void()> GetGuestThreadStartFunc() { + return [this] { GuestThreadFunction(); }; + } + std::function<void()> GetIdleThreadStartFunc() { + return [this] { IdleThreadFunction(); }; + } + std::function<void()> GetShutdownThreadStartFunc() { + return [this] { ShutdownThreadFunction(); }; + } void PreemptSingleCore(bool from_running_enviroment = true); @@ -62,10 +67,10 @@ public: } private: - static void GuestThreadFunction(void* cpu_manager); - static void GuestRewindFunction(void* cpu_manager); - static void IdleThreadFunction(void* cpu_manager); - static void ShutdownThreadFunction(void* cpu_manager); + void GuestThreadFunction(); + void GuestRewindFunction(); + void IdleThreadFunction(); + void ShutdownThreadFunction(); void MultiCoreRunGuestThread(); void MultiCoreRunGuestLoop(); |