Browse Source

Synchronize chanPrefix list.

May or may not fix issue 4060.
May or may not also fix issue 3952.

Change-Id: I9300b0337646ec4e3099ac1d115a0afd831fb847
Reviewed-on: http://gerrit.dmdirc.com/1224
Automatic-Compile: DMDirc Local Commits <dmdirc@googlemail.com>
Reviewed-by: Chris Smith <chris@dmdirc.com>
tags/0.6.4
Shane Mc Cormack 14 years ago
parent
commit
6969432159
1 changed files with 6 additions and 3 deletions
  1. 6
    3
      src/com/dmdirc/parser/irc/IRCParser.java

+ 6
- 3
src/com/dmdirc/parser/irc/IRCParser.java View File

@@ -57,6 +57,7 @@ import java.security.cert.X509Certificate;
57 57
 import java.util.ArrayList;
58 58
 import java.util.Arrays;
59 59
 import java.util.Collection;
60
+import java.util.Collections;
60 61
 import java.util.HashMap;
61 62
 import java.util.Hashtable;
62 63
 import java.util.LinkedList;
@@ -211,7 +212,7 @@ public class IRCParser implements SecureParser, Runnable {
211 212
     boolean addLastLine = false;
212 213
 
213 214
     /** Channel Prefixes (ie # + etc). */
214
-    private final List<Character> chanPrefix = new LinkedList<Character>();
215
+    private final List<Character> chanPrefix = Collections.synchronizedList(new LinkedList<Character>());
215 216
     /** Hashtable storing all known clients based on nickname (in lowercase). */
216 217
     private final Map<String, IRCClientInfo> clientList = new Hashtable<String, IRCClientInfo>();
217 218
     /** Hashtable storing all known channels based on chanel name (inc prefix - in lowercase). */
@@ -1345,8 +1346,10 @@ public class IRCParser implements SecureParser, Runnable {
1345 1346
 
1346 1347
         final StringBuilder builder = new StringBuilder(chanPrefix.size());
1347 1348
 
1348
-        for (Character prefix : new LinkedList<Character>(chanPrefix)) {
1349
-            builder.append(prefix);
1349
+        synchronized (chanPrefix) {
1350
+            for (Character prefix : chanPrefix) {
1351
+                builder.append(prefix);
1352
+            }
1350 1353
         }
1351 1354
 
1352 1355
         return builder.toString();

Loading…
Cancel
Save