diff options
author | Jordan Henderson <jhenderson@hdfgroup.org> | 2017-03-10 17:39:08 (GMT) |
---|---|---|
committer | Jordan Henderson <jhenderson@hdfgroup.org> | 2017-03-10 17:39:08 (GMT) |
commit | 73d4fea67c676f22ac72e9d45f7610ef0692ffed (patch) | |
tree | ab1bfe19d08c10539d4c04d8ef02f66d39a950e3 | |
parent | fba658662b64b169c0664a6f66a29d27b36be0f4 (diff) | |
download | hdf5-73d4fea67c676f22ac72e9d45f7610ef0692ffed.zip hdf5-73d4fea67c676f22ac72e9d45f7610ef0692ffed.tar.gz hdf5-73d4fea67c676f22ac72e9d45f7610ef0692ffed.tar.bz2 |
Call terminate callback upon freeing H5VL class
-rw-r--r-- | src/H5VL.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -190,14 +190,23 @@ H5VL_term_package(void) static herr_t H5VL_free_cls(H5VL_class_t *cls) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + herr_t ret_value = SUCCEED; + + FUNC_ENTER_NOAPI_NOINIT /* Sanity check */ HDassert(cls); + /* XXX: Need to retrieve the VOL termination property list for the + * terminate operation - JTH + */ + if (cls->terminate && cls->terminate(H5P_DEFAULT) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEOBJ, FAIL, "VOL plugin did not terminate cleanly") + H5MM_free(cls); - FUNC_LEAVE_NOAPI(SUCCEED) +done: + FUNC_LEAVE_NOAPI(ret_value) } /* end H5VL_free_cls() */ |