mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-12 18:25:51 +00:00
Synchronize on event listeners in EventListenerInvoker.
This commit is contained in:
parent
001afa9ae2
commit
b25446271a
@ -39,13 +39,15 @@ public abstract class EventListenerInvoker<E> {
|
||||
|
||||
public static <E> void invoke(List<E> listeners,
|
||||
EventListenerInvoker<E> invoker) {
|
||||
for (int i = 0; i < listeners.size(); i++) {
|
||||
E l = listeners.get(i);
|
||||
synchronized (l) {
|
||||
invoker.invoke(l);
|
||||
}
|
||||
if (listeners.get(i) != l) {
|
||||
i--; // Listener removed itself.
|
||||
synchronized (listeners) {
|
||||
for (int i = 0; i < listeners.size(); i++) {
|
||||
E l = listeners.get(i);
|
||||
synchronized (l) {
|
||||
invoker.invoke(l);
|
||||
}
|
||||
if (listeners.get(i) != l) {
|
||||
i--; // Listener removed itself.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user