summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-11-07 14:53:47 +1100
committerjacqueline <me@jacqueline.id.au>2023-11-07 14:53:47 +1100
commitb463ceaef4d82ee7c425c88749b9fd68ea27e5b8 (patch)
tree0409e3e772fcd81868f27bb511261de0ab5654fa
parent2b19e5703401f9af3dacda09bf4b8552e5f8832f (diff)
downloadtangara-fw-b463ceaef4d82ee7c425c88749b9fd68ea27e5b8.tar.gz
use std::list instead of std::deque for events
std::deque loves to allocate 512 bytes in internal memory just for fun
-rw-r--r--src/events/include/event_queue.hpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/events/include/event_queue.hpp b/src/events/include/event_queue.hpp
index 332f7be5..78b21d53 100644
--- a/src/events/include/event_queue.hpp
+++ b/src/events/include/event_queue.hpp
@@ -29,7 +29,7 @@ class Queue {
auto Add(std::function<void(void)> fn) {
{
std::lock_guard<std::mutex> lock{mut_};
- events_.push(fn);
+ events_.push_back(fn);
}
xSemaphoreGive(has_events_);
}
@@ -50,7 +50,7 @@ class Queue {
}
had_work = true;
fn = events_.front();
- events_.pop();
+ events_.pop_front();
}
std::invoke(fn);
}
@@ -64,7 +64,7 @@ class Queue {
private:
SemaphoreHandle_t has_events_;
std::mutex mut_;
- std::queue<std::function<void(void)>> events_;
+ std::list<std::function<void(void)>> events_;
};
template <class Machine>