X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Ffilter%2FMultiSourceFilter.java;h=38e74733f35fc0f8ede30f4553041c612fbd980d;hb=6990b0756343c247fe05d6c55d6b7049ad5f8e14;hp=57c313e1257070c626c8b36566006f1fbd10944f;hpb=00af65503a2076371291ce8e019da2546458bdac;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java b/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java index 57c313e..38e7473 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java +++ b/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java @@ -135,9 +135,11 @@ public class MultiSourceFilter implements Filter, ReusableSink { while (true) { /* wait for source to be set. */ OutputStream outputStream; + Source source; logger.finest("Entering synchronized block..."); synchronized (syncObject) { logger.finest("Entered synchronized block."); + source = this.source; while (source == null) { try { logger.finest("Waiting for source to connect..."); @@ -145,6 +147,7 @@ public class MultiSourceFilter implements Filter, ReusableSink { } catch (InterruptedException ie1) { /* ignore, keep waiting. */ } + source = this.source; } outputStream = pipedOutputStream; }