summaryrefslogtreecommitdiffstats
path: root/src/H5F.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2013-04-03 15:47:33 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2013-04-03 15:47:33 (GMT)
commit7856dacd1cd1b3ddaba1aceb0b23149d29c03f46 (patch)
treee29a3d98bc074d511bfa2e4c8f76fdbefd834f7c /src/H5F.c
parenteccf5307099a419ac73d26ab31c4ed2ac6a26a5b (diff)
downloadhdf5-7856dacd1cd1b3ddaba1aceb0b23149d29c03f46.zip
hdf5-7856dacd1cd1b3ddaba1aceb0b23149d29c03f46.tar.gz
hdf5-7856dacd1cd1b3ddaba1aceb0b23149d29c03f46.tar.bz2
[svn-r23531] add the FF async API version of all other file/group/dataset API routines that were done synchronously in the last deliverable.
Diffstat (limited to 'src/H5F.c')
-rw-r--r--src/H5F.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/H5F.c b/src/H5F.c
index 0ce3160..934e7b9 100644
--- a/src/H5F.c
+++ b/src/H5F.c
@@ -699,6 +699,7 @@ done:
herr_t
H5Fclose(hid_t file_id)
{
+ H5VL_t *vol_plugin = NULL;
herr_t ret_value = SUCCEED;
FUNC_ENTER_API(FAIL)
@@ -708,6 +709,13 @@ H5Fclose(hid_t file_id)
if(H5I_FILE != H5I_get_type(file_id))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file ID")
+ /* get the plugin pointer */
+ if (NULL == (vol_plugin = (H5VL_t *)H5I_get_aux(file_id)))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "ID does not contain VOL information");
+ /* set the event queue and dxpl IDs to be passed on to the VOL layer */
+ vol_plugin->close_eq_id = H5_EVENT_QUEUE_NULL;
+ vol_plugin->close_dxpl_id = H5AC_dxpl_id;
+
/* Decrement reference count on atom. When it reaches zero the file will be closed. */
if(H5I_dec_app_ref(file_id) < 0)
HGOTO_ERROR(H5E_ATOM, H5E_CANTCLOSEFILE, FAIL, "decrementing file ID failed")
@@ -757,7 +765,8 @@ H5F_close_file(void *file, H5VL_t *vol_plugin)
FUNC_ENTER_NOAPI_NOINIT
/* Close the file through the VOL*/
- if((ret_value = H5VL_file_close(file, vol_plugin, H5AC_dxpl_id, H5_EVENT_QUEUE_NULL)) < 0)
+ if((ret_value = H5VL_file_close(file, vol_plugin, vol_plugin->close_dxpl_id,
+ vol_plugin->close_eq_id)) < 0)
HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "unable to close file")
done:
FUNC_LEAVE_NOAPI(ret_value)