X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fcore%2FCore.java;h=1038b4fae839b8115315a14eedba8036aa2b7c3e;hb=6595c30709032c5d373e1cebf4b3d6ea0c6fe91d;hp=f7b05952cd50ed46ee7255163a48cee125cc7236;hpb=f44a2c07039e9f86fbc5927f6ba097d9d42b3e21;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/xdcc/core/Core.java b/src/main/java/net/pterodactylus/xdcc/core/Core.java index f7b0595..1038b4f 100644 --- a/src/main/java/net/pterodactylus/xdcc/core/Core.java +++ b/src/main/java/net/pterodactylus/xdcc/core/Core.java @@ -571,6 +571,9 @@ public class Core extends AbstractExecutionThreadService { public void connectionClosed(ConnectionClosed connectionClosed) { connectionBackoff.connectionFailed(getNetwork(connectionClosed.connection()).get()); removeConnection(connectionClosed.connection()); + synchronized (syncObject) { + syncObject.notifyAll(); + } eventBus.post(new GenericMessage(String.format("Connection closed by %s.", connectionClosed.connection().hostname()))); } @@ -584,6 +587,9 @@ public class Core extends AbstractExecutionThreadService { public void connectionFailed(ConnectionFailed connectionFailed) { connectionBackoff.connectionFailed(getNetwork(connectionFailed.connection()).get()); removeConnection(connectionFailed.connection()); + synchronized (syncObject) { + syncObject.notifyAll(); + } eventBus.post(new GenericMessage(String.format("Could not connect to %s: %s.", connectionFailed.connection().hostname(), connectionFailed.cause()))); } @@ -625,11 +631,14 @@ public class Core extends AbstractExecutionThreadService { Optional channel = getChannel(network.get(), channelNotJoined.channel()); if (!channel.isPresent()) { - eventBus.post(new GenericMessage(format("Could not join %s but didn’t try to join, either.", channel.get()))); + eventBus.post(new GenericMessage(format("Could not join %s but didn’t try to join, either.", channelNotJoined.channel()))); return; } channelsBeingJoined.remove(channel.get()); + synchronized (syncObject) { + syncObject.notifyAll(); + } /* remove all bots for this channel, we might have been kicked. */ Collection botsToRemove = networkBots.row(network.get()) @@ -690,6 +699,9 @@ public class Core extends AbstractExecutionThreadService { } else { channels.remove(channel.get()); } + synchronized (syncObject) { + syncObject.notifyAll(); + } eventBus.post(new GenericMessage(String.format("Left Channel %s on %s.", channel.get().name(), channel.get().network().name()))); } @@ -722,6 +734,9 @@ public class Core extends AbstractExecutionThreadService { } else { joinedChannels.remove(channel.get()); } + synchronized (syncObject) { + syncObject.notifyAll(); + } eventBus.post(new GenericMessage(format( "Kicked from %s by %s: %s", kickedFromChannel.channel(),