From 6f4c5c91be4172b8fa493f1dc76008e4be26f5b5 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Mon, 30 Jul 2012 20:24:14 +0000 Subject: [PATCH] Fixing multi-threaded issues. --- .../com/gempukku/lotro/game/LotroServer.java | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java index 8a8503958..cbc43298f 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java @@ -20,7 +20,7 @@ public class LotroServer extends AbstractServer { private Map _runningGames = new ConcurrentHashMap(); private Set _gameDeathWarningsSent = new HashSet(); - private final Map _finishedGamesTime = new LinkedHashMap(); + private final Map _finishedGamesTime = Collections.synchronizedMap(new LinkedHashMap()); private final long _timeToGameDeath = 1000 * 60 * 5; // 5 minutes private final long _timeToGameDeathWarning = 1000 * 60 * 4; // 4 minutes @@ -95,22 +95,12 @@ public class LotroServer extends AbstractServer { new GameResultListener() { @Override public void gameFinished(String winnerPlayerId, String winReason, Map loserPlayerIdsWithReasons) { - _lock.writeLock().lock(); - try { - _finishedGamesTime.put(gameId, new Date()); - } finally { - _lock.writeLock().unlock(); - } + _finishedGamesTime.put(gameId, new Date()); } @Override public void gameCancelled() { - _lock.writeLock().lock(); - try { - _finishedGamesTime.put(gameId, new Date()); - } finally { - _lock.writeLock().unlock(); - } + _finishedGamesTime.put(gameId, new Date()); } }); lotroGameMediator.sendMessageToPlayers("You're starting a game of " + lotroFormat.getName());