From fbc457231c3fac361cb7576d6d184ea601dc0a38 Mon Sep 17 00:00:00 2001 From: Georgy Moshkin <gmoshkin@picodata.io> Date: Fri, 16 Dec 2022 17:22:14 +0300 Subject: [PATCH] fix(governor): used to loop infinitely sometimes --- src/governor/mod.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/governor/mod.rs b/src/governor/mod.rs index eb3454bcf9..2cafdc52ac 100644 --- a/src/governor/mod.rs +++ b/src/governor/mod.rs @@ -112,6 +112,11 @@ impl Loop { .await; if let Err(e) = res { tlog!(Warning, ::std::concat!("failed ", $desc, ": {}"), e, $(; $($kv)*)?); + // TODO: better api needed in library + if waker.has_changed() { + // This resolves immediately + _ = waker.changed().await; + } _ = waker.changed().timeout(Loop::RETRY_TIMEOUT).await; return Continue; } -- GitLab