mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-12 02:05:53 +00:00
Orchid: narrower locking
This commit is contained in:
parent
41731c3261
commit
ddfaebd487
@ -104,15 +104,19 @@ public class CircuitManagerImpl implements CircuitManager, DashboardRenderable {
|
|||||||
try {
|
try {
|
||||||
isBuilding = false;
|
isBuilding = false;
|
||||||
scheduledExecutor.shutdownNow();
|
scheduledExecutor.shutdownNow();
|
||||||
if (killCircuits) {
|
|
||||||
List<CircuitImpl> circuits = new ArrayList<CircuitImpl>(activeCircuits);
|
|
||||||
for (CircuitImpl c : circuits) {
|
|
||||||
c.destroyCircuit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} finally {
|
} finally {
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (killCircuits) {
|
||||||
|
ArrayList<CircuitImpl> circuits;
|
||||||
|
synchronized (activeCircuits) {
|
||||||
|
circuits = new ArrayList<CircuitImpl>(activeCircuits);
|
||||||
|
}
|
||||||
|
for (CircuitImpl c : circuits) {
|
||||||
|
c.destroyCircuit();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExitCircuit createNewExitCircuit(Router exitRouter) {
|
public ExitCircuit createNewExitCircuit(Router exitRouter) {
|
||||||
@ -125,15 +129,18 @@ public class CircuitManagerImpl implements CircuitManager, DashboardRenderable {
|
|||||||
activeCircuits.notifyAll();
|
activeCircuits.notifyAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean doDestroy;
|
||||||
lock.lock();
|
lock.lock();
|
||||||
try {
|
try {
|
||||||
if (!isBuilding) {
|
doDestroy = !isBuilding;
|
||||||
// we were asked to stop since this circuit was started
|
|
||||||
circuit.destroyCircuit();
|
|
||||||
}
|
|
||||||
} finally {
|
} finally {
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (doDestroy) {
|
||||||
|
// we were asked to stop since this circuit was started
|
||||||
|
circuit.destroyCircuit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void removeActiveCircuit(CircuitImpl circuit) {
|
void removeActiveCircuit(CircuitImpl circuit) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user