Merge pull request #520 from MilosKozak/waitqueue

synchronized wait
This commit is contained in:
Milos Kozak 2017-12-03 22:48:03 +01:00 committed by GitHub
commit 1c1ef26c84
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -433,22 +433,26 @@ public class DanaRExecutionService extends Service {
} }
final Object o = new Object(); final Object o = new Object();
ConfigBuilderPlugin.getCommandQueue().independentConnect("bolusingInterrupted", new Callback() { synchronized(o) {
@Override ConfigBuilderPlugin.getCommandQueue().independentConnect("bolusingInterrupted", new Callback() {
public void run() { @Override
if (danaRPump.lastBolusTime.getTime() > System.currentTimeMillis() - 60 * 1000L) { // last bolus max 1 min old public void run() {
t.insulin = danaRPump.lastBolusAmount; if (danaRPump.lastBolusTime.getTime() > System.currentTimeMillis() - 60 * 1000L) { // last bolus max 1 min old
log.debug("Used bolus amount from history: " + danaRPump.lastBolusAmount); t.insulin = danaRPump.lastBolusAmount;
} else { log.debug("Used bolus amount from history: " + danaRPump.lastBolusAmount);
log.debug("Bolus amount in history too old: " + danaRPump.lastBolusTime.toLocaleString()); } else {
log.debug("Bolus amount in history too old: " + danaRPump.lastBolusTime.toLocaleString());
}
synchronized (o) {
o.notify();
}
} }
o.notify(); });
try {
o.wait();
} catch (InterruptedException e) {
e.printStackTrace();
} }
});
try {
o.wait();
} catch (InterruptedException e) {
e.printStackTrace();
} }
} else { } else {
ConfigBuilderPlugin.getCommandQueue().readStatus("bolusOK", null); ConfigBuilderPlugin.getCommandQueue().readStatus("bolusOK", null);