[svn-r18791] Description:

Correct error in H5C_resize_entry() where protected entry sizes were
not updated if the entry being resized was both pinned and protected.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.6.3 (amazon) in debug mode
        Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
This commit is contained in:
Quincey Koziol 2010-05-13 10:17:23 -05:00
parent df9d110fd4
commit 940931aa85

View File

@ -3092,18 +3092,17 @@ H5C_resize_entry(void *thing, size_t new_size)
} }
} }
/* update the pinned or protected entry list */ /* update the pinned and/or protected entry list */
if(entry_ptr->is_pinned) { if(entry_ptr->is_pinned) {
H5C__DLL_UPDATE_FOR_SIZE_CHANGE((cache_ptr->pel_len), \ H5C__DLL_UPDATE_FOR_SIZE_CHANGE((cache_ptr->pel_len), \
(cache_ptr->pel_size), \ (cache_ptr->pel_size), \
(entry_ptr->size), (new_size)); (entry_ptr->size), (new_size));
} /* end if */ } /* end if */
else { if(entry_ptr->is_protected) {
HDassert(entry_ptr->is_protected);
H5C__DLL_UPDATE_FOR_SIZE_CHANGE((cache_ptr->pl_len), \ H5C__DLL_UPDATE_FOR_SIZE_CHANGE((cache_ptr->pl_len), \
(cache_ptr->pl_size), \ (cache_ptr->pl_size), \
(entry_ptr->size), (new_size)); (entry_ptr->size), (new_size));
} /* end else */ } /* end if */
/* update the hash table */ /* update the hash table */
H5C__UPDATE_INDEX_FOR_SIZE_CHANGE((cache_ptr), (entry_ptr->size),\ H5C__UPDATE_INDEX_FOR_SIZE_CHANGE((cache_ptr), (entry_ptr->size),\