X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fworkers%2FAlignCalcManager.java;h=cdf8ea4d77fc08de067185aa1b69fddae4c5d51e;hb=c1e71094304dcd2b975c485416ec5e25cca30815;hp=435d40c122ac0013fd54bb74dd762e2937df7cbb;hpb=c932f0e85a8852824cdd8ce790af68682732c85c;p=jalview.git diff --git a/src/jalview/workers/AlignCalcManager.java b/src/jalview/workers/AlignCalcManager.java index 435d40c..cdf8ea4 100644 --- a/src/jalview/workers/AlignCalcManager.java +++ b/src/jalview/workers/AlignCalcManager.java @@ -145,7 +145,8 @@ public class AlignCalcManager implements AlignCalcManagerI { synchronized (inProgress) { - // jalview.bin.Console.errPrintln("Worker " + worker + " marked as complete."); + // jalview.bin.Console.errPrintln("Worker " + worker + " marked as + // complete."); inProgress.remove(worker); List upd = updating.get(worker.getClass()); if (upd != null) @@ -201,7 +202,7 @@ public class AlignCalcManager implements AlignCalcManagerI @Override public boolean isWorking() { - boolean working=false; + boolean working = false; synchronized (inProgress) { // jalview.bin.Console.errPrintln("isWorking "+hashCode()); @@ -214,9 +215,10 @@ public class AlignCalcManager implements AlignCalcManagerI { for (List workers : workersLists) { - if (workers!=null) + if (workers != null) { - synchronized (workers) { + synchronized (workers) + { working |= workers.size() > 0; } } @@ -305,14 +307,16 @@ public class AlignCalcManager implements AlignCalcManagerI Class workerClass) { List workingClass = new ArrayList(); + AlignCalcWorkerI[] workers; synchronized (canUpdate) { - for (AlignCalcWorkerI worker : canUpdate) + workers = canUpdate.toArray(new AlignCalcWorkerI[0]); + } + for (AlignCalcWorkerI worker : workers) + { + if (workerClass.equals(worker.getClass())) { - if (workerClass.equals(worker.getClass())) - { - workingClass.add(worker); - } + workingClass.add(worker); } } return (workingClass.size() == 0) ? null : workingClass;