Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e82483a5 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "QueueTest: UnregisterDequeue before promise set value"

parents 376875d3 5e00bda4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -83,8 +83,8 @@ class TestBidiQueueEnd {
    std::promise<TB*>* promise = new std::promise<TB*>();
    handler_->Post([this, promise] {
      end_->RegisterDequeue(handler_, [this, promise] {
        promise->set_value(end_->TryDequeue().get());
        end_->UnregisterDequeue();
        promise->set_value(end_->TryDequeue().get());
      });
    });

+4 −4
Original line number Diff line number Diff line
@@ -159,16 +159,16 @@ class TestDequeueEnd {
    buffer_.push(std::move(data));
    LOG_INFO("push %s, size %d", copy.c_str(), (int)buffer_.size());  // Debug log, will be removed

    if (buffer_.size() == capacity_) {
      queue_->UnregisterDequeue();
    }

    auto pair = promise_map_->find(buffer_.size());
    if (pair != promise_map_->end()) {
      LOG_INFO("promises : %d", pair->first);  // Debug log, will be removed
      pair->second.set_value(pair->first);
      promise_map_->erase(pair->first);
    }

    if (buffer_.size() == capacity_) {
      queue_->UnregisterDequeue();
    }
  }

  void setDelay(int value) {