Skip to content

Commit d0e3d3f

Browse files
committed
Minor concurrent modification fix
1 parent 6ecb970 commit d0e3d3f

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

core/src/main/java/xyz/gianlu/librespot/mercury/MercuryClient.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,12 @@ protected void handle(@NotNull Packet packet) throws InvalidProtocolBufferExcept
203203

204204
if (packet.is(Packet.Type.MercuryEvent)) {
205205
boolean dispatched = false;
206-
for (InternalSubListener sub : subscriptions) {
207-
if (sub.matches(header.getUri())) {
208-
sub.dispatch(resp);
209-
dispatched = true;
206+
synchronized (subscriptions) {
207+
for (InternalSubListener sub : subscriptions) {
208+
if (sub.matches(header.getUri())) {
209+
sub.dispatch(resp);
210+
dispatched = true;
211+
}
210212
}
211213
}
212214

@@ -238,9 +240,7 @@ public void interestedIn(@NotNull String uri, @NotNull SubListener listener) {
238240
}
239241

240242
public void notInterested(@NotNull SubListener listener) {
241-
synchronized (subscriptions) {
242-
subscriptions.removeIf(internalSubListener -> internalSubListener.listener == listener);
243-
}
243+
subscriptions.removeIf(internalSubListener -> internalSubListener.listener == listener);
244244
}
245245

246246
@Override

0 commit comments

Comments
 (0)