Add AsyncInvoker::Clear method to allow canceling pending invocations
Change-Id: I85707c0980cdfb64acbb61ff8b6245e8da509db8
Bug: webrtc:8823
Reviewed-on: https://webrtc-review.googlesource.com/46801
Commit-Queue: Chris Dziemborowicz <chrisdz@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21835}
diff --git a/rtc_base/asyncinvoker.h b/rtc_base/asyncinvoker.h
index 3f0c4f1..523e9a9 100644
--- a/rtc_base/asyncinvoker.h
+++ b/rtc_base/asyncinvoker.h
@@ -124,6 +124,11 @@
// behavior is desired, call Flush() before destroying this object.
void Flush(Thread* thread, uint32_t id = MQID_ANY);
+ // Cancels any outstanding calls we own that are pending on any thread, and
+ // which have not yet started to execute. This does not wait for any calls
+ // that have already started executing to complete.
+ void Clear();
+
private:
void OnMessage(Message* msg) override;
void DoInvoke(const Location& posted_from,