399799 do not hold lock while calling invalidation listeners
This commit is contained in:
parent
cf54341ae6
commit
777817dd0f
|
@ -307,16 +307,19 @@ public abstract class AbstractSession implements AbstractSessionManager.SessionI
|
||||||
_manager.removeSession(this,true);
|
_manager.removeSession(this,true);
|
||||||
|
|
||||||
// Notify listeners and unbind values
|
// Notify listeners and unbind values
|
||||||
|
boolean do_invalidate=false;
|
||||||
synchronized (this)
|
synchronized (this)
|
||||||
{
|
{
|
||||||
if (!_invalid)
|
if (!_invalid)
|
||||||
{
|
{
|
||||||
if (_requests<=0)
|
if (_requests<=0)
|
||||||
doInvalidate();
|
do_invalidate=true;
|
||||||
else
|
else
|
||||||
_doInvalidate=true;
|
_doInvalidate=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (do_invalidate)
|
||||||
|
doInvalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
|
|
Loading…
Reference in New Issue