summaryrefslogtreecommitdiffstats
path: root/src/H5MF.c
diff options
context:
space:
mode:
authormainzer <mainzer#hdfgroup.org>2017-03-16 17:42:10 (GMT)
committermainzer <mainzer#hdfgroup.org>2017-03-16 17:42:10 (GMT)
commit11ce930ae94bd21b1a8d4afdde7b982439f2800b (patch)
tree581a2a020c12b4714b6d00aee2b1ef1f12c3ba61 /src/H5MF.c
parentcee9624b0febcb60a7b2699262104e9eaf20313d (diff)
downloadhdf5-11ce930ae94bd21b1a8d4afdde7b982439f2800b.zip
hdf5-11ce930ae94bd21b1a8d4afdde7b982439f2800b.tar.gz
hdf5-11ce930ae94bd21b1a8d4afdde7b982439f2800b.tar.bz2
Checkin of additions to cache image parallel test code and
associated bug fixes. Also, modifications to H5PB_dest() to flush the page buffer before destroying the page buffer. This is necessary, as when persistant free space managers are enabled, the page buffer will typically contain dirty FSM data at page buffer destroy time. Tested serial/debug, serial/production, serial/check-vfd/debug, parallel/debug, parallel/production on Jelly.
Diffstat (limited to 'src/H5MF.c')
-rw-r--r--src/H5MF.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/H5MF.c b/src/H5MF.c
index 358e326..87c910c 100644
--- a/src/H5MF.c
+++ b/src/H5MF.c
@@ -1347,6 +1347,12 @@ HDfprintf(stderr, "%s: Entering: alloc_type = %u, addr = %a, size = %Hu, extra_r
HDassert(f);
HDassert(H5F_INTENT(f) & H5F_ACC_RDWR);
+ if(f->shared->first_alloc_dealloc) {
+ HDassert(! H5AC_cache_image_pending(f));
+ if(H5MF_tidy_self_referential_fsm_hack(f, dxpl_id) < 0)
+ HGOTO_ERROR(H5E_RESOURCE, H5E_CANTFREE, FAIL, "tidy of self referential fsm hack failed")
+ } /* end if */
+
/* Set mapped type, treating global heap as raw data */
map_type = (alloc_type == H5FD_MEM_GHEAP) ? H5FD_MEM_DRAW : alloc_type;