Revert "Migrate test/time_controller to webrtc::Mutex."

This reverts commit 52fd96fb731d9a911bd064a9718d96fef0bd5b24.

Reason for revert: previously undetected lock recursions happening in downstream project.

Original change's description:
> Migrate test/time_controller to webrtc::Mutex.
> 
> Bug: webrtc:11567
> Change-Id: I26fb07bf84ed197ce667290aa0bf4816bc9c5c06
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178818
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Markus Handell <handellm@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31660}

TBR=srte@webrtc.org,handellm@webrtc.org

Change-Id: Icccfa32ac21412bc46f75ac7aca76641f5593096
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11567
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178872
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31668}
This commit is contained in:
Markus Handell
2020-07-08 10:16:48 +00:00
committed by Commit Bot
parent bd49463a9c
commit 122fadc608
9 changed files with 38 additions and 42 deletions

View File

@ -28,7 +28,7 @@ SimulatedTaskQueue::~SimulatedTaskQueue() {
void SimulatedTaskQueue::Delete() {
{
MutexLock lock(&lock_);
rtc::CritScope lock(&lock_);
ready_tasks_.clear();
delayed_tasks_.clear();
}
@ -36,7 +36,7 @@ void SimulatedTaskQueue::Delete() {
}
void SimulatedTaskQueue::RunReady(Timestamp at_time) {
MutexLock lock(&lock_);
rtc::CritScope lock(&lock_);
for (auto it = delayed_tasks_.begin();
it != delayed_tasks_.end() && it->first <= at_time;
it = delayed_tasks_.erase(it)) {
@ -48,14 +48,14 @@ void SimulatedTaskQueue::RunReady(Timestamp at_time) {
while (!ready_tasks_.empty()) {
std::unique_ptr<QueuedTask> ready = std::move(ready_tasks_.front());
ready_tasks_.pop_front();
lock_.Unlock();
lock_.Leave();
bool delete_task = ready->Run();
if (delete_task) {
ready.reset();
} else {
ready.release();
}
lock_.Lock();
lock_.Enter();
}
if (!delayed_tasks_.empty()) {
next_run_time_ = delayed_tasks_.begin()->first;
@ -65,14 +65,14 @@ void SimulatedTaskQueue::RunReady(Timestamp at_time) {
}
void SimulatedTaskQueue::PostTask(std::unique_ptr<QueuedTask> task) {
MutexLock lock(&lock_);
rtc::CritScope lock(&lock_);
ready_tasks_.emplace_back(std::move(task));
next_run_time_ = Timestamp::MinusInfinity();
}
void SimulatedTaskQueue::PostDelayedTask(std::unique_ptr<QueuedTask> task,
uint32_t milliseconds) {
MutexLock lock(&lock_);
rtc::CritScope lock(&lock_);
Timestamp target_time =
handler_->CurrentTime() + TimeDelta::Millis(milliseconds);
delayed_tasks_[target_time].push_back(std::move(task));