aboutsummaryrefslogtreecommitdiff
path: root/src/unstable/cacheobject.h
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2014-07-22 16:39:01 +0000
committerMike Buland <eichlan@xagasoft.com>2014-07-22 16:39:01 +0000
commit21a4337dc2f969dc3ec81e6ba3170119bcb67016 (patch)
treeaf8077ea0e89ec29b499e46583f3de35d1b3103c /src/unstable/cacheobject.h
parent6482ec1f7550f0fca153bd8f556327902c7afec8 (diff)
downloadlibbu++-21a4337dc2f969dc3ec81e6ba3170119bcb67016.tar.gz
libbu++-21a4337dc2f969dc3ec81e6ba3170119bcb67016.tar.bz2
libbu++-21a4337dc2f969dc3ec81e6ba3170119bcb67016.tar.xz
libbu++-21a4337dc2f969dc3ec81e6ba3170119bcb67016.zip
Deferred erase now works on cache entries. You can erase a cache entry while
it still has active references, and it will be safely cleaned up when the last reference is released.
Diffstat (limited to '')
-rw-r--r--src/unstable/cacheobject.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/unstable/cacheobject.h b/src/unstable/cacheobject.h
index 6eb507b..47e09de 100644
--- a/src/unstable/cacheobject.h
+++ b/src/unstable/cacheobject.h
@@ -86,7 +86,8 @@ namespace Bu
86 protected: 86 protected:
87 void changed( bool bChanged=true ) 87 void changed( bool bChanged=true )
88 { 88 {
89 if( this->bChanged == false && bChanged == true && pCache ) 89 if( this->bChanged == false && bChanged == true && pCache &&
90 pEntry && !pEntry->isDeleted() )
90 pCache->objectChanged( getKey() ); 91 pCache->objectChanged( getKey() );
91 92
92 this->bChanged = bChanged; 93 this->bChanged = bChanged;