Perfprofd: Fix zero-second sleep
The binder frontend uses wait_for, which will degenerate to
unlimited sleep on zero.
Test: mmma system/extras/perfprofd
Change-Id: I3c25d9b004f864ad9ce2c71cf6d49c5a68cc98b5
diff --git a/perfprofd/binder_interface/perfprofd_binder.cc b/perfprofd/binder_interface/perfprofd_binder.cc
index 11d17ff..78184f4 100644
--- a/perfprofd/binder_interface/perfprofd_binder.cc
+++ b/perfprofd/binder_interface/perfprofd_binder.cc
@@ -57,6 +57,9 @@
bool is_profiling = false;
void Sleep(size_t seconds) override {
+ if (seconds == 0) {
+ return;
+ }
std::unique_lock<std::mutex> guard(mutex_);
using namespace std::chrono_literals;
cv_.wait_for(guard, seconds * 1s, [&]() { return interrupted_; });