diff options
author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-05-01 12:29:05 +0200 |
---|---|---|
committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-05-01 12:29:05 +0200 |
commit | 5d17c8b16290df3a3f751e2c979846e70d17ef66 (patch) | |
tree | 250a127cda0d1827b65eea978704b81ce45cc380 /same | |
parent | 84ac5627e8bfd824f1885931a18972731b478009 (diff) |
Fix interrupt handling in VariableUpdaterTask.
Diffstat (limited to 'same')
-rw-r--r-- | same/src/main/java/com/orbekk/same/VariableUpdaterTask.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/same/src/main/java/com/orbekk/same/VariableUpdaterTask.java b/same/src/main/java/com/orbekk/same/VariableUpdaterTask.java index f696e17..fdc1493 100644 --- a/same/src/main/java/com/orbekk/same/VariableUpdaterTask.java +++ b/same/src/main/java/com/orbekk/same/VariableUpdaterTask.java @@ -36,13 +36,14 @@ public class VariableUpdaterTask<T> extends Thread } private synchronized void waitFor(AtomicBoolean v) { - if (Thread.interrupted()) { + if (Thread.currentThread().isInterrupted()) { return; } while(!v.get()) { try { wait(); } catch (InterruptedException e) { + Thread.currentThread().interrupt(); return; } } @@ -54,7 +55,7 @@ public class VariableUpdaterTask<T> extends Thread while (true) { waitFor(isReady); waitFor(hasNewValue); - if (Thread.interrupted()) { + if (Thread.currentThread().isInterrupted()) { break; } performWork(); |