Index: cc/tiles/image_controller_unittest.cc |
diff --git a/cc/tiles/image_controller_unittest.cc b/cc/tiles/image_controller_unittest.cc |
index b963ff1c9aa53fb826a310edd3d6837290164382..ddd537617a2a4cc5d891466d344dbdfa9081ed97 100644 |
--- a/cc/tiles/image_controller_unittest.cc |
+++ b/cc/tiles/image_controller_unittest.cc |
@@ -21,17 +21,21 @@ class TestWorkerThread : public base::SimpleThread { |
void Run() override { |
for (;;) { |
- base::AutoLock hold(lock_); |
- if (shutdown_) |
- break; |
- |
- if (queue_.empty()) { |
- condition_.Wait(); |
- continue; |
+ base::Closure task; |
+ { |
+ base::AutoLock hold(lock_); |
+ if (shutdown_) |
+ break; |
+ |
+ if (queue_.empty()) { |
+ condition_.Wait(); |
+ continue; |
+ } |
+ |
+ task = queue_.front(); |
+ queue_.erase(queue_.begin()); |
} |
- |
- queue_.front().Run(); |
- queue_.erase(queue_.begin()); |
+ task.Run(); |
} |
} |