summaryrefslogtreecommitdiff
path: root/modules/async/c++/async.tmpl.hpp
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2024-06-26 14:41:18 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2024-06-26 14:41:18 +0200
commitdf7789cbef7ffa9658c61525edf75bebaa6398ff (patch)
tree8b004a208910a9c38f20ec312fbb0e74a5a2c279 /modules/async/c++/async.tmpl.hpp
parenteda37df9c399b23dc5bdb668730101a87f4770ce (diff)
Got double free :/
Diffstat (limited to 'modules/async/c++/async.tmpl.hpp')
-rw-r--r--modules/async/c++/async.tmpl.hpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/modules/async/c++/async.tmpl.hpp b/modules/async/c++/async.tmpl.hpp
index 68489ad..7016283 100644
--- a/modules/async/c++/async.tmpl.hpp
+++ b/modules/async/c++/async.tmpl.hpp
@@ -160,14 +160,14 @@ own<conveyor_node> conveyor<T>::from_conveyor(conveyor<T> conveyor) {
return std::move(conveyor.node_);
}
-template <typename T> error_or<fix_void<T>> conveyor<T>::take() {
+template <typename T> error_or<T> conveyor<T>::take() {
SAW_ASSERT(node_) {
make_error<err::invalid_state>("conveyor in invalid state");
}
conveyor_storage *storage = node_->next_storage();
if (storage) {
if (storage->queued() > 0) {
- error_or<fix_void<T>> result;
+ error_or<T> result;
node_->get_result(result);
return result;
} else {