diff --git a/router/java/src/net/i2p/router/JobQueue.java b/router/java/src/net/i2p/router/JobQueue.java index 6abbbe15198a41d750bfc65613238bc414b3e2ed..5ec9e7e6561d6dae20cbc9bd1c8095b7a987e3d7 100644 --- a/router/java/src/net/i2p/router/JobQueue.java +++ b/router/java/src/net/i2p/router/JobQueue.java @@ -53,7 +53,7 @@ public class JobQueue { /** will we allow the # job runners to grow beyond 1? */ private boolean _allowParallelOperation; /** have we been killed or are we alive? */ - private boolean _alive; + private volatile boolean _alive; private final Object _jobLock; private volatile long _nextPumperRun; diff --git a/router/java/src/net/i2p/router/JobQueueRunner.java b/router/java/src/net/i2p/router/JobQueueRunner.java index 12cd2b2dded25dbe70d991d1228292bca84c8fee..b9ae2363d7c2a13e227289f9c226e1fa5fe36619 100644 --- a/router/java/src/net/i2p/router/JobQueueRunner.java +++ b/router/java/src/net/i2p/router/JobQueueRunner.java @@ -6,13 +6,13 @@ import net.i2p.util.Log; class JobQueueRunner implements Runnable { private final Log _log; private final RouterContext _context; - private boolean _keepRunning; + private volatile boolean _keepRunning; private final int _id; - private Job _currentJob; - private Job _lastJob; - private long _lastBegin; - private long _lastEnd; - private int _state; + private volatile Job _currentJob; + private volatile Job _lastJob; + private volatile long _lastBegin; + private volatile long _lastEnd; + private volatile int _state; public JobQueueRunner(RouterContext context, int id) { _context = context;