399799 do not hold lock while calling invalidation listeners

This commit is contained in:
Greg Wilkins 2013-03-05 14:32:17 +11:00
parent a4f2e743d0
commit 0f415a735a
1 changed files with 4 additions and 1 deletions

View File

@ -340,16 +340,19 @@ public abstract class AbstractSession implements AbstractSessionManager.SessionI
_manager.removeSession(this,true);
// Notify listeners and unbind values
boolean do_invalidate=false;
synchronized (this)
{
if (!_invalid)
{
if (_requests<=0)
doInvalidate();
do_invalidate=true;
else
_doInvalidate=true;
}
}
if (do_invalidate)
doInvalidate();
}
/* ------------------------------------------------------------- */