summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-08-13 04:13:14 +0200
committerGitHub <noreply@github.com>2018-08-13 04:13:14 +0200
commit9608f51cdee2dd1d2bb493b02b109b1b280dfc28 (patch)
tree5b1d179c66eadc53c0ba534680a91ade726d08be
parentMerge pull request #1042 from Subv/races (diff)
parentscheduler: Make HaveReadyThreads() a const member function (diff)
downloadyuzu-9608f51cdee2dd1d2bb493b02b109b1b280dfc28.tar
yuzu-9608f51cdee2dd1d2bb493b02b109b1b280dfc28.tar.gz
yuzu-9608f51cdee2dd1d2bb493b02b109b1b280dfc28.tar.bz2
yuzu-9608f51cdee2dd1d2bb493b02b109b1b280dfc28.tar.lz
yuzu-9608f51cdee2dd1d2bb493b02b109b1b280dfc28.tar.xz
yuzu-9608f51cdee2dd1d2bb493b02b109b1b280dfc28.tar.zst
yuzu-9608f51cdee2dd1d2bb493b02b109b1b280dfc28.zip
-rw-r--r--src/common/thread_queue_list.h10
-rw-r--r--src/core/hle/kernel/scheduler.cpp2
-rw-r--r--src/core/hle/kernel/scheduler.h2
3 files changed, 7 insertions, 7 deletions
diff --git a/src/common/thread_queue_list.h b/src/common/thread_queue_list.h
index 38a450d69..133122c5f 100644
--- a/src/common/thread_queue_list.h
+++ b/src/common/thread_queue_list.h
@@ -16,7 +16,7 @@ struct ThreadQueueList {
// (dynamically resizable) circular buffers to remove their overhead when
// inserting and popping.
- typedef unsigned int Priority;
+ using Priority = unsigned int;
// Number of priority levels. (Valid levels are [0..NUM_QUEUES).)
static const Priority NUM_QUEUES = N;
@@ -26,9 +26,9 @@ struct ThreadQueueList {
}
// Only for debugging, returns priority level.
- Priority contains(const T& uid) {
+ Priority contains(const T& uid) const {
for (Priority i = 0; i < NUM_QUEUES; ++i) {
- Queue& cur = queues[i];
+ const Queue& cur = queues[i];
if (std::find(cur.data.cbegin(), cur.data.cend(), uid) != cur.data.cend()) {
return i;
}
@@ -37,8 +37,8 @@ struct ThreadQueueList {
return -1;
}
- T get_first() {
- Queue* cur = first;
+ T get_first() const {
+ const Queue* cur = first;
while (cur != nullptr) {
if (!cur->data.empty()) {
return cur->data.front();
diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp
index 94065c736..e770b9103 100644
--- a/src/core/hle/kernel/scheduler.cpp
+++ b/src/core/hle/kernel/scheduler.cpp
@@ -25,7 +25,7 @@ Scheduler::~Scheduler() {
}
}
-bool Scheduler::HaveReadyThreads() {
+bool Scheduler::HaveReadyThreads() const {
std::lock_guard<std::mutex> lock(scheduler_mutex);
return ready_queue.get_first() != nullptr;
}
diff --git a/src/core/hle/kernel/scheduler.h b/src/core/hle/kernel/scheduler.h
index 1a4ee8f36..6a61ef64e 100644
--- a/src/core/hle/kernel/scheduler.h
+++ b/src/core/hle/kernel/scheduler.h
@@ -21,7 +21,7 @@ public:
~Scheduler();
/// Returns whether there are any threads that are ready to run.
- bool HaveReadyThreads();
+ bool HaveReadyThreads() const;
/// Reschedules to the next available thread (call after current thread is suspended)
void Reschedule();