Browse Source

BETA: Sharing map of BlockList class instead of using synchronized sometimes NPE happens and causing map data loose thanks nonom for testing.

Rumen Nikiforov 13 năm trước cách đây
mục cha
commit
fa79fd6014

+ 3 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/model/BlockList.java

@@ -50,7 +50,7 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 public class BlockList
 {
 	private static Logger _log = Logger.getLogger(BlockList.class.getName());
-	private static Map<Integer, List<Integer>> _offlineList = new FastMap<Integer, List<Integer>>();
+	private static Map<Integer, List<Integer>> _offlineList = new FastMap<Integer, List<Integer>>().shared();
 	
 	private final L2PcInstance _owner;
 	private List<Integer> _blockList;
@@ -63,13 +63,13 @@ public class BlockList
 			_blockList = loadList(_owner.getObjectId());
 	}
 	
-	private synchronized void addToBlockList(int target)
+	private void addToBlockList(int target)
 	{
 		_blockList.add(target);
 		updateInDB(target, true);
 	}
 	
-	private synchronized void removeFromBlockList(int target)
+	private void removeFromBlockList(int target)
 	{
 		_blockList.remove(Integer.valueOf(target));
 		updateInDB(target, false);