From 959802d73e42904fc1fa3b2e35b7d49c74a36220 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 18 Sep 2012 14:19:29 +0300 Subject: [PATCH] Lock session when handling browser details request (#9656) --- .../src/com/vaadin/server/AbstractCommunicationManager.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/src/com/vaadin/server/AbstractCommunicationManager.java b/server/src/com/vaadin/server/AbstractCommunicationManager.java index 32800506a3..5832b144ec 100644 --- a/server/src/com/vaadin/server/AbstractCommunicationManager.java +++ b/server/src/com/vaadin/server/AbstractCommunicationManager.java @@ -2464,9 +2464,11 @@ public abstract class AbstractCommunicationManager implements Serializable { public void handleBrowserDetailsRequest(WrappedRequest request, WrappedResponse response, VaadinSession session) throws IOException { - assert UI.getCurrent() == null; + session.getLock().lock(); try { + assert UI.getCurrent() == null; + CombinedRequest combinedRequest = new CombinedRequest(request); response.setContentType("application/json; charset=UTF-8"); @@ -2495,6 +2497,8 @@ public abstract class AbstractCommunicationManager implements Serializable { } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); + } finally { + session.getLock().unlock(); } } -- 2.39.5