diff options
author | Mike Buland <eichlan@xagasoft.com> | 2010-05-01 02:47:08 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2010-05-01 02:47:08 +0000 |
commit | aeb8bee786a9495c78ed94e2a8485ed790714635 (patch) | |
tree | 8ffe8bb122daedabb92c18495d9cb95e601f71ea /src/cache.h | |
parent | daa25c26e99eb62a4ce499f8079b15734987ac0d (diff) | |
download | libbu++-aeb8bee786a9495c78ed94e2a8485ed790714635.tar.gz libbu++-aeb8bee786a9495c78ed94e2a8485ed790714635.tar.bz2 libbu++-aeb8bee786a9495c78ed94e2a8485ed790714635.tar.xz libbu++-aeb8bee786a9495c78ed94e2a8485ed790714635.zip |
The cache...
Diffstat (limited to 'src/cache.h')
-rw-r--r-- | src/cache.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/cache.h b/src/cache.h index 06b798c..1753407 100644 --- a/src/cache.h +++ b/src/cache.h | |||
@@ -317,20 +317,23 @@ namespace Bu | |||
317 | void erase( const keytype &cId ) | 317 | void erase( const keytype &cId ) |
318 | { | 318 | { |
319 | TRACE( cId ); | 319 | TRACE( cId ); |
320 | try { | 320 | if( hEnt.has( cId ) ) |
321 | if( hEnt.get( cId ).iRefs > 0 ) | 321 | { |
322 | { | 322 | try { |
323 | printf("Shouldn't delete, references still exist!\n"); | 323 | if( hEnt.get( cId ).iRefs > 0 ) |
324 | return; | 324 | { |
325 | printf("Shouldn't delete, references still exist!\n"); | ||
326 | return; | ||
327 | } | ||
325 | } | 328 | } |
329 | catch( Bu::HashException &e ) { | ||
330 | get( cId ); | ||
331 | } | ||
332 | |||
333 | pCalc->onUnload( hEnt.get( cId ).pData, cId ); | ||
334 | pStore->destroy( hEnt.get( cId ).pData, cId ); | ||
326 | } | 335 | } |
327 | catch( Bu::HashException &e ) { | 336 | |
328 | get( cId ); | ||
329 | } | ||
330 | |||
331 | pCalc->onUnload( hEnt.get( cId ).pData, cId ); | ||
332 | |||
333 | pStore->destroy( hEnt.get( cId ).pData, cId ); | ||
334 | hEnt.erase( cId ); | 337 | hEnt.erase( cId ); |
335 | } | 338 | } |
336 | 339 | ||