diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-25 12:55:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-25 12:55:17 +0100 |
commit | cc59c26b7ff4b7a5754972a025d45858de449f61 (patch) | |
tree | d216a29bd428d837827c9e245eee4bec2c0aab97 /messagebus | |
parent | 4a23616becf49bf591af6730ddf8b700b138e4aa (diff) | |
parent | 82c1a153a1f846090c35f043efbdd22ca75c2160 (diff) |
Merge branch 'master' into balder/consider_vespa_timer_hz
Diffstat (limited to 'messagebus')
-rwxr-xr-x | messagebus/src/main/java/com/yahoo/messagebus/Messenger.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/Messenger.java b/messagebus/src/main/java/com/yahoo/messagebus/Messenger.java index f2ebbbe76cb..478cb7554ee 100755 --- a/messagebus/src/main/java/com/yahoo/messagebus/Messenger.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/Messenger.java @@ -1,6 +1,8 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.messagebus; +import com.yahoo.concurrent.SystemTimer; + import java.util.logging.Level; import java.util.ArrayDeque; @@ -147,12 +149,17 @@ public class Messenger implements Runnable { @Override public void run() { + int timeoutMS = 100*1000/SystemTimer.detectHz(); while (true) { Task task = null; synchronized (this) { if (queue.isEmpty()) { try { - wait(10); + if (children.isEmpty()) { + wait(); + } else { + wait(timeoutMS); + } } catch (final InterruptedException e) { continue; } @@ -173,8 +180,7 @@ public class Messenger implements Runnable { try { task.destroy(); } catch (final Exception e) { - log.warning("An exception was thrown while destroying " + task.getClass().getName() + ": " + - e.toString()); + log.warning("An exception was thrown while destroying " + task.getClass().getName() + ": " + e); log.warning("Someone, somewhere might have to wait indefinitely for something."); } } |