Changes between Version 2 and Version 3 of rfc26_blockcache
- Timestamp:
- Dec 6, 2009, 2:40:40 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
rfc26_blockcache
v2 v3 36 36 37 37 38 Protecting the band level cache from the access of multiple threads may happen by using a per-band amutex of the38 Protecting the band level cache from the access of multiple threads may happen by using a per-band mutex of the 39 39 raster band, however using this second mutex may easily lead to deadlock situations as pointed out in #3324. To avoid this situation it would be much 40 40 safer to use hRBMutex to protect the simoultaneous access to the per-band cache as well. In most cases when accessing the per-band 41 41 cache, hRBMutex is also involved in various operations (like GDALRasterBlock:Touch, GDALRasterBlock:Internalize, 42 GDALRasterBlock::SafeLockBlock etc.) it would only requireto extend the scope of this mutex by exposing hRBMutex to be42 GDALRasterBlock::SafeLockBlock etc.) it would only be required to extend the scope of this mutex by exposing hRBMutex to be 43 43 accessed by GDALRasterBand. 44 44 45 To select between the array based and the hashtable based approaches a nMaxCacheSize parameter is introduced for eachband.46 When the array would exceed this size limit the hashtable based approach will beselected, and the hashtable is allocated45 To select between the array based and the hashtable based approaches a nMaxCacheSize parameter is introduced at the band. 46 When the array would exceed this size limit the hashtable based approach is selected, and the hashtable is allocated 47 47 to this initial size by default. 48 48