Browse Source

Fix concurrency issue when accessing Server's channels or queries

Fixes CLIENT-180

Change-Id: I9b0769a1001d6e0b7ae8aef96ce4d42d5d8de034
Reviewed-on: http://gerrit.dmdirc.com/1801
Automatic-Compile: DMDirc Local Commits <dmdirc@googlemail.com>
Reviewed-by: Greg Holmes <greg@dmdirc.com>
tags/0.6.5rc1
Chris Smith 13 years ago
parent
commit
dde3b960fb
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      src/com/dmdirc/Server.java

+ 3
- 3
src/com/dmdirc/Server.java View File

60
 import java.util.ArrayList;
60
 import java.util.ArrayList;
61
 import java.util.Collection;
61
 import java.util.Collection;
62
 import java.util.Collections;
62
 import java.util.Collections;
63
-import java.util.HashMap;
64
 import java.util.HashSet;
63
 import java.util.HashSet;
65
 import java.util.List;
64
 import java.util.List;
66
 import java.util.Map;
65
 import java.util.Map;
68
 import java.util.Set;
67
 import java.util.Set;
69
 import java.util.Timer;
68
 import java.util.Timer;
70
 import java.util.TimerTask;
69
 import java.util.TimerTask;
70
+import java.util.concurrent.ConcurrentSkipListMap;
71
 import java.util.concurrent.locks.ReadWriteLock;
71
 import java.util.concurrent.locks.ReadWriteLock;
72
 import java.util.concurrent.locks.ReentrantReadWriteLock;
72
 import java.util.concurrent.locks.ReentrantReadWriteLock;
73
 
73
 
98
     // <editor-fold defaultstate="collapsed" desc="Instance">
98
     // <editor-fold defaultstate="collapsed" desc="Instance">
99
 
99
 
100
     /** Open channels that currently exist on the server. */
100
     /** Open channels that currently exist on the server. */
101
-    private final Map<String, Channel> channels = new HashMap<String, Channel>();
101
+    private final Map<String, Channel> channels = new ConcurrentSkipListMap<String, Channel>();
102
 
102
 
103
     /** Open query windows on the server. */
103
     /** Open query windows on the server. */
104
-    private final Map<String, Query> queries = new HashMap<String, Query>();
104
+    private final Map<String, Query> queries = new ConcurrentSkipListMap<String, Query>();
105
 
105
 
106
     /** The Parser instance handling this server. */
106
     /** The Parser instance handling this server. */
107
     private Parser parser;
107
     private Parser parser;

Loading…
Cancel
Save