Add Shutdown method to TaskRunner.

PiperOrigin-RevId: 628448253
This commit is contained in:
Francis Tsui
2024-04-26 10:44:21 -07:00
committed by Copybara-Service
parent 7c973ee9d2
commit 159ca34072
6 changed files with 66 additions and 14 deletions
+6 -2
View File
@@ -32,7 +32,12 @@ namespace nearby {
std::atomic_uint FakeTaskRunner::pending_tasks_count_ = 0;
FakeTaskRunner::~FakeTaskRunner() { absl::MutexLock lock(&mutex_); }
FakeTaskRunner::~FakeTaskRunner() { Shutdown(); }
void FakeTaskRunner::Shutdown() {
absl::MutexLock lock(&mutex_);
task_executor_->Shutdown();
}
bool FakeTaskRunner::PostTask(absl::AnyInvocable<void()> task) {
absl::MutexLock lock(&mutex_);
@@ -78,7 +83,6 @@ bool FakeTaskRunner::WaitForRunningTasksWithTimeout(absl::Duration timeout) {
absl::SleepFor(absl::Milliseconds(50));
--i;
}
return pending_tasks_count_ == 0;
}
+2
View File
@@ -47,6 +47,8 @@ class FakeTaskRunner : public TaskRunner {
absl::AnyInvocable<void()> task) override
ABSL_LOCKS_EXCLUDED(mutex_);
void Shutdown() override ABSL_LOCKS_EXCLUDED(mutex_);
// Wait for all thread completed.
void Sync();