diff --git a/router/java/src/net/i2p/router/time/RouterTimestamper.java b/router/java/src/net/i2p/router/time/RouterTimestamper.java index 3d718d7c4bad16e07eb7fd71a8fc187cc992735a..4d8892442de2eea180f4adc9a94564cf7f7b1cd7 100644 --- a/router/java/src/net/i2p/router/time/RouterTimestamper.java +++ b/router/java/src/net/i2p/router/time/RouterTimestamper.java @@ -30,7 +30,7 @@ public class RouterTimestamper extends Timestamper { private int _consecutiveFails; private volatile boolean _disabled; private final boolean _daemon; - private boolean _initialized; + private volatile boolean _initialized; private boolean _wellSynced; private volatile boolean _isRunning; private Thread _timestamperThread; @@ -199,10 +199,13 @@ public class RouterTimestamper extends Timestamper { } } - boolean wasInitialized = _initialized; - if (!wasInitialized) - _initialized = true; - synchronized (this) { notifyAll(); } + boolean wasInitialized; + synchronized (this) { + wasInitialized = _initialized; + if (!wasInitialized) + _initialized = true; + notifyAll(); + } if (!wasInitialized) { // let the log manager get initialized try { Thread.sleep(10*1000); } catch (InterruptedException ie) {}