summaryrefslogtreecommitdiffstats
path: root/engine/include/core
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2019-01-23 17:02:24 +0100
committerNao Pross <naopross@thearcway.org>2019-01-23 17:02:24 +0100
commitd48d9f51970bd90ef9f1a8cbcf6207041e79a104 (patch)
tree0fcfa52b6f84722dc6119378106269cec025ed3b /engine/include/core
parentUpdate .gitignore, delete makefile add -g flag to build (diff)
downloadflatland-d48d9f51970bd90ef9f1a8cbcf6207041e79a104.tar.gz
flatland-d48d9f51970bd90ef9f1a8cbcf6207041e79a104.zip
Fix bug in RAII jobs, debug session on ts3
Diffstat (limited to 'engine/include/core')
-rw-r--r--engine/include/core/priority.hpp2
-rw-r--r--engine/include/core/task.hpp6
2 files changed, 6 insertions, 2 deletions
diff --git a/engine/include/core/priority.hpp b/engine/include/core/priority.hpp
index 1219d26..d6c9b35 100644
--- a/engine/include/core/priority.hpp
+++ b/engine/include/core/priority.hpp
@@ -33,7 +33,7 @@ namespace flat {
return lhs.priority() < rhs.priority();
}
- bool operator()(const std::weak_ptr<prioritized> lhs, const std::weak_ptr<prioritized>& rhs) {
+ bool operator()(const std::weak_ptr<prioritized> lhs, const std::weak_ptr<prioritized> rhs) {
if (auto l = lhs.lock()) {
if (auto r = rhs.lock()) {
// if both valid, check their priority
diff --git a/engine/include/core/task.hpp b/engine/include/core/task.hpp
index d886fcd..570e547 100644
--- a/engine/include/core/task.hpp
+++ b/engine/include/core/task.hpp
@@ -24,9 +24,13 @@ namespace flat {
callback m_callback;
};
- struct job : private queue<std::weak_ptr<task>> {
+ struct job : public queue<std::weak_ptr<task>> {
std::shared_ptr<task> make_task(task::callback f, priority_t p = priority_t::none);
void invoke_tasks();
+
+ inline void operator()() {
+ invoke_tasks();
+ }
};
}
}