Commit 0407221b authored by Dominik Charousset's avatar Dominik Charousset

Fix memory leak in unit test

parent cf487fa7
...@@ -88,8 +88,6 @@ public: ...@@ -88,8 +88,6 @@ public:
struct send_helper { struct send_helper {
app_t* thisptr; app_t* thisptr;
LowerLayerPtr down; LowerLayerPtr down;
bool on_next_called;
bool aborted;
void on_next(int32_t item) { void on_next(int32_t item) {
thisptr->written_values.emplace_back(item); thisptr->written_values.emplace_back(item);
...@@ -109,19 +107,20 @@ public: ...@@ -109,19 +107,20 @@ public:
} }
void on_error(const error&) { void on_error(const error&) {
aborted = true; // nop
} }
}; };
template <class LowerLayerPtr> template <class LowerLayerPtr>
bool prepare_send(LowerLayerPtr down) { bool prepare_send(LowerLayerPtr down) {
if (done) if (done || !adapter)
return true; return true;
auto helper = send_helper<LowerLayerPtr>{this, down, false, false}; auto helper = send_helper<LowerLayerPtr>{this, down};
while (down->can_send_more()) { while (down->can_send_more()) {
auto [ok, consumed] = adapter->pull(async::delay_errors, 1, helper); auto [again, consumed] = adapter->pull(async::delay_errors, 1, helper);
if (!ok) { if (!again) {
MESSAGE("adapter signaled end-of-buffer"); MESSAGE("adapter signaled end-of-buffer");
adapter = nullptr;
done = true; done = true;
break; break;
} else if (consumed == 0) { } else if (consumed == 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment