You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/11/19 08:40:37 UTC

openmeetings git commit: [OPENMEETINGS-1762] simultaneous room enter should be fixed

Repository: openmeetings
Updated Branches:
  refs/heads/4.0.x d69f0a31f -> dce3243f9


[OPENMEETINGS-1762] simultaneous room enter should be fixed


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/dce3243f
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/dce3243f
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/dce3243f

Branch: refs/heads/4.0.x
Commit: dce3243f97259aa597b33e261c10b2368241e1d9
Parents: d69f0a3
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Sun Nov 19 15:40:26 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Sun Nov 19 15:40:26 2017 +0700

----------------------------------------------------------------------
 .../main/java/org/apache/openmeetings/web/app/Application.java | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dce3243f/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index ed39cfa..257e074 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -351,7 +351,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica
 		return hazelcast.getMap(INVALID_SESSIONS_KEY);
 	}
 
-	private Map<Long, Set<String>> getRooms() {
+	private IMap<Long, Set<String>> getRooms() {
 		return hazelcast.getMap(ROOMS_KEY);
 	}
 
@@ -597,11 +597,13 @@ public class Application extends AuthenticatedWebApplication implements IApplica
 	public static Client addUserToRoom(Client c) {
 		Long roomId = c.getRoom().getId();
 		log.debug("Adding online room client: {}, room: {}", c.getUid(), roomId);
-		Map<Long, Set<String>> rooms = get().getRooms();
+		IMap<Long, Set<String>> rooms = get().getRooms();
+		rooms.lock(roomId);
 		rooms.putIfAbsent(roomId, new ConcurrentHashSet<String>());
 		Set<String> set = rooms.get(roomId);
 		set.add(c.getUid());
 		rooms.put(roomId, set);
+		rooms.unlock(roomId);
 		update(c);
 		return c;
 	}