From a1f9c2e7d4ab917ed8d12ae3303a3f4357055564 Mon Sep 17 00:00:00 2001 From: Mystiflow Date: Wed, 9 Aug 2017 13:13:25 +0100 Subject: [PATCH] Disable plugins before shutting down EventLoops (#2214) Because disabling plugins also cancels any pending tasks, there will be no task accessing the eventLoops. Reimplementation of #1578, fixes #1403 --- .../main/java/net/md_5/bungee/BungeeCord.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java index 0d11201e..b4c8bcfc 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -404,15 +404,6 @@ public class BungeeCord extends ProxyServer { } - getLogger().info( "Closing IO threads" ); - eventLoops.shutdownGracefully(); - try - { - eventLoops.awaitTermination( Long.MAX_VALUE, TimeUnit.NANOSECONDS ); - } catch ( InterruptedException ex ) - { - } - if ( reconnectHandler != null ) { getLogger().info( "Saving reconnect locations" ); @@ -441,6 +432,15 @@ public class BungeeCord extends ProxyServer plugin.getExecutorService().shutdownNow(); } + getLogger().info( "Closing IO threads" ); + eventLoops.shutdownGracefully(); + try + { + eventLoops.awaitTermination( Long.MAX_VALUE, TimeUnit.NANOSECONDS ); + } catch ( InterruptedException ex ) + { + } + getLogger().info( "Thank you and goodbye" ); // Need to close loggers after last message! for ( Handler handler : getLogger().getHandlers() )