mirror of
https://github.com/AsamK/signal-cli.git
synced 2026-05-17 13:11:00 +00:00
Close all managers in parallel in multi account mode
This commit is contained in:
parent
21a546d2bc
commit
52d818be45
@ -123,10 +123,20 @@ public class MultiAccountManagerImpl implements MultiAccountManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
|
final List<Thread> closeThreads;
|
||||||
synchronized (managers) {
|
synchronized (managers) {
|
||||||
for (var m : new ArrayList<>(managers)) {
|
closeThreads = new ArrayList<>(managers).stream()
|
||||||
m.close();
|
.map(m -> Thread.ofPlatform().name("manager-close-" + m.getSelfNumber()).start(m::close))
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (final var t : closeThreads) {
|
||||||
|
try {
|
||||||
|
t.join();
|
||||||
|
} catch (InterruptedException ignored) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
synchronized (managers) {
|
||||||
managers.clear();
|
managers.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user