X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=lib%2Fjetty%2Forg%2Feclipse%2Fjetty%2Fserver%2Fsession%2FAbstractSessionManager.java;h=d25394649037f0fb5fb618011484a85c388c81d4;hp=1f966c5957d68b59b39a2a439ddd082cf08b0269;hb=ba4f228fa9f72d50991a2218cfd83987ef5d385e;hpb=875b5e9651498a0cd8e0001c0742ba843e47cad0 diff --git a/lib/jetty/org/eclipse/jetty/server/session/AbstractSessionManager.java b/lib/jetty/org/eclipse/jetty/server/session/AbstractSessionManager.java index 1f966c59..d2539464 100644 --- a/lib/jetty/org/eclipse/jetty/server/session/AbstractSessionManager.java +++ b/lib/jetty/org/eclipse/jetty/server/session/AbstractSessionManager.java @@ -1,6 +1,6 @@ // // ======================================================================== -// Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. // ------------------------------------------------------------------------ // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 @@ -227,10 +227,10 @@ public abstract class AbstractSessionManager extends ContainerLifeCycle implemen _context=ContextHandler.getCurrentContext(); _loader=Thread.currentThread().getContextClassLoader(); - if (_sessionIdManager==null) + final Server server=getSessionHandler().getServer(); + synchronized (server) { - final Server server=getSessionHandler().getServer(); - synchronized (server) + if (_sessionIdManager==null) { _sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null) @@ -575,6 +575,9 @@ public abstract class AbstractSessionManager extends ContainerLifeCycle implemen _sessionAttributeListeners.remove(listener); if (listener instanceof HttpSessionListener) _sessionListeners.remove(listener); + if (listener instanceof HttpSessionIdListener) + _sessionIdListeners.remove(listener); + removeBean(listener); } /* ------------------------------------------------------------ */