Browse Source

Call parser shutdown whenever we are done with a parser.

pull/799/head
Shane Mc Cormack 7 years ago
parent
commit
ad0005b047
1 changed files with 10 additions and 0 deletions
  1. 10
    0
      src/main/java/com/dmdirc/Server.java

+ 10
- 0
src/main/java/com/dmdirc/Server.java View File

@@ -680,6 +680,10 @@ public class Server implements Connection {
680 680
                 windowModel.getEventBus().unsubscribe(highlightManager);
681 681
                 executorService.shutdown();
682 682
 
683
+                if (parser.isPresent()) {
684
+                    parser.get().shutdown();
685
+                }
686
+
683 687
                 disconnect();
684 688
 
685 689
                 myState.transition(ServerState.CLOSING);
@@ -770,6 +774,9 @@ public class Server implements Connection {
770 774
             try {
771 775
                 parserLock.writeLock().lock();
772 776
                 oldParser = parser;
777
+                if (oldParser.isPresent()) {
778
+                    oldParser.get().shutdown();
779
+                }
773 780
                 parser = Optional.empty();
774 781
             } finally {
775 782
                 parserLock.writeLock().unlock();
@@ -819,6 +826,9 @@ public class Server implements Connection {
819 826
             try {
820 827
                 parserLock.writeLock().lock();
821 828
                 oldParser = parser;
829
+                if (oldParser.isPresent()) {
830
+                    oldParser.get().shutdown();
831
+                }
822 832
                 parser = Optional.empty();
823 833
             } finally {
824 834
                 parserLock.writeLock().unlock();

Loading…
Cancel
Save