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 cf54341ae6
commit 777817dd0f
1 changed files with 4 additions and 1 deletions

View File

@ -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();
} }
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */