summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-05-01 12:29:05 +0200
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-05-01 12:29:05 +0200
commit5d17c8b16290df3a3f751e2c979846e70d17ef66 (patch)
tree250a127cda0d1827b65eea978704b81ce45cc380
parent84ac5627e8bfd824f1885931a18972731b478009 (diff)
Fix interrupt handling in VariableUpdaterTask.
-rw-r--r--same/src/main/java/com/orbekk/same/VariableUpdaterTask.java5
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();