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
|
||||
public void close() {
|
||||
final List<Thread> closeThreads;
|
||||
synchronized (managers) {
|
||||
for (var m : new ArrayList<>(managers)) {
|
||||
m.close();
|
||||
closeThreads = new ArrayList<>(managers).stream()
|
||||
.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();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user