summaryrefslogtreecommitdiff
path: root/src/core/hle/hle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/hle.cpp')
-rw-r--r--src/core/hle/hle.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/core/hle/hle.cpp b/src/core/hle/hle.cpp
index 331b1b22a..3b1369800 100644
--- a/src/core/hle/hle.cpp
+++ b/src/core/hle/hle.cpp
@@ -14,9 +14,13 @@
14 14
15//////////////////////////////////////////////////////////////////////////////////////////////////// 15////////////////////////////////////////////////////////////////////////////////////////////////////
16 16
17namespace HLE { 17namespace {
18
19bool reschedule; ///< If true, immediately reschedules the CPU to a new thread
18 20
19bool g_reschedule; ///< If true, immediately reschedules the CPU to a new thread 21}
22
23namespace HLE {
20 24
21void Reschedule(const char *reason) { 25void Reschedule(const char *reason) {
22 DEBUG_ASSERT_MSG(reason != nullptr && strlen(reason) < 256, "Reschedule: Invalid or too long reason."); 26 DEBUG_ASSERT_MSG(reason != nullptr && strlen(reason) < 256, "Reschedule: Invalid or too long reason.");
@@ -29,13 +33,21 @@ void Reschedule(const char *reason) {
29 33
30 Core::g_app_core->PrepareReschedule(); 34 Core::g_app_core->PrepareReschedule();
31 35
32 g_reschedule = true; 36 reschedule = true;
37}
38
39bool RescheduleIsPending() {
40 return reschedule;
41}
42
43void DoneRescheduling() {
44 reschedule = false;
33} 45}
34 46
35void Init() { 47void Init() {
36 Service::Init(); 48 Service::Init();
37 49
38 g_reschedule = false; 50 reschedule = false;
39 51
40 LOG_DEBUG(Kernel, "initialized OK"); 52 LOG_DEBUG(Kernel, "initialized OK");
41} 53}