diff --git a/router/java/src/net/i2p/router/transport/UPnPManager.java b/router/java/src/net/i2p/router/transport/UPnPManager.java index a1ad8db3a9569e1c3ad5c03782431d319ec7b1bd..0ff6d5d8482b4c9a5814126ea91c2f49f1a80538 100644 --- a/router/java/src/net/i2p/router/transport/UPnPManager.java +++ b/router/java/src/net/i2p/router/transport/UPnPManager.java @@ -37,7 +37,8 @@ class UPnPManager { private volatile boolean _isRunning; private volatile boolean _shouldBeRunning; private volatile long _lastRescan; - private volatile boolean _errorLogged; + private boolean _errorLogged; + private boolean _disconLogged; private InetAddress _detectedAddress; private final TransportManager _manager; private final SimpleTimer2.TimedEvent _rescanner; @@ -103,10 +104,14 @@ class UPnPManager { _rescanner.schedule(RESCAN_SHORT_DELAY); // Do we have a non-loopback, non-broadcast address? // If not, that's why it failed (HTTPServer won't start) - if (!Addresses.isConnected()) - _log.logAlways(Log.WARN, "UPnP start failed - no network connection?"); - else + if (!Addresses.isConnected()) { + if (!_disconLogged) { + _log.logAlways(Log.WARN, "UPnP start failed - no network connection?"); + _disconLogged = true; + } + } else { _log.error("UPnP start failed - port conflict?"); + } } }