From e42e04c0f03c91186f9945c9e9d4b1e6ce8f405a Mon Sep 17 00:00:00 2001 From: zzz Date: Mon, 15 Apr 2019 12:49:07 +0000 Subject: [PATCH] Console: Don't display I2CP error during soft restart (ticket #2468) --- .../src/net/i2p/router/web/helpers/SummaryHelper.java | 6 ++++-- router/java/src/net/i2p/router/Router.java | 10 ++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/SummaryHelper.java index e2dec5cd7..db1682b02 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/SummaryHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/SummaryHelper.java @@ -220,8 +220,10 @@ public class SummaryHelper extends HelperBase { private NetworkStateMessage reachability() { if (_context.commSystem().isDummy()) return new NetworkStateMessage(NetworkState.VMCOMM, "VM Comm System"); - if (_context.router().getUptime() > 60*1000 && (!_context.router().gracefulShutdownInProgress()) && - !_context.clientManager().isAlive()) + if (_context.router().getUptime() > 60*1000 && + !_context.clientManager().isAlive() && + !_context.router().gracefulShutdownInProgress() && + !_context.router().isRestarting()) return new NetworkStateMessage(NetworkState.ERROR, _t("ERR-Client Manager I2CP Error - check logs")); // not a router problem but the user should know // Warn based on actual skew from peers, not update status, so if we successfully offset // the clock, we don't complain. diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index c7054c6df..3bc5a49c8 100644 --- a/router/java/src/net/i2p/router/Router.java +++ b/router/java/src/net/i2p/router/Router.java @@ -832,6 +832,16 @@ public class Router implements RouterClock.ClockShiftListener { } } + /** + * @return true if router is RESTARTING (soft restart) + * @since 0.9.40 + */ + public boolean isRestarting() { + synchronized(_stateLock) { + return _state == State.RESTARTING; + } + } + /** * Only for Restarter, after soft restart is complete. * Not for external use.