diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2012-07-10 22:20:16 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2012-07-10 22:20:16 (GMT) |
commit | 1cfe5fa4dea7918edc52521d05f2db3c7f4525fb (patch) | |
tree | dc08d51d4fa31d4676bf7c1586354a05ec590e02 /src/H5G.c | |
parent | 47446e4d5bf281371ebf19d95432cfe98368dbcb (diff) | |
download | hdf5-1cfe5fa4dea7918edc52521d05f2db3c7f4525fb.zip hdf5-1cfe5fa4dea7918edc52521d05f2db3c7f4525fb.tar.gz hdf5-1cfe5fa4dea7918edc52521d05f2db3c7f4525fb.tar.bz2 |
[svn-r22549]
move ref count management on the VOL struct inside the VLint code
- H5Freopen still needs to be handled
create the public interface for VOL callbacks:
- unresolved issue with var_args
update and create new API fapl calls to support stacking drivers:
- need to add fapl copy callback
fix a memory leak with registration of external plugins
Diffstat (limited to 'src/H5G.c')
-rw-r--r-- | src/H5G.c | 12 |
1 files changed, 0 insertions, 12 deletions
@@ -313,7 +313,6 @@ H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t g /* get the file object */ if(NULL == (obj = (void *)H5I_object(loc_id))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier") - /* get the plugin pointer */ if (NULL == (vol_plugin = (H5VL_t *)H5I_get_aux(loc_id))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "ID does not contain VOL information") @@ -325,7 +324,6 @@ H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t g /* Get an atom for the group */ if((ret_value = H5I_register2(H5I_GROUP, grp, vol_plugin, TRUE)) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to atomize dataset handle") - vol_plugin->nrefs ++; done: if (ret_value < 0 && grp) @@ -414,7 +412,6 @@ H5Gcreate_anon(hid_t loc_id, hid_t gcpl_id, hid_t gapl_id) /* Get an atom for the group */ if((ret_value = H5I_register2(H5I_GROUP, grp, vol_plugin, TRUE)) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to atomize dataset handle") - vol_plugin->nrefs ++; done: if (ret_value < 0 && grp) @@ -482,7 +479,6 @@ H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id) /* Get an atom for the group */ if((ret_value = H5I_register2(H5I_GROUP, grp, vol_plugin, TRUE)) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to atomize dataset handle") - vol_plugin->nrefs ++; done: if (ret_value < 0 && grp) @@ -777,14 +773,6 @@ H5G_close_group(void *grp, H5VL_t *vol_plugin) if((ret_value = H5VL_group_close(grp, vol_plugin, H5_REQUEST_NULL)) < 0) HGOTO_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "unable to close group") - vol_plugin->nrefs --; - if (0 == vol_plugin->nrefs) { - if (NULL != vol_plugin->container_name) - H5MM_xfree(vol_plugin->container_name); - if (NULL != vol_plugin) - H5MM_free(vol_plugin); - } - done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5G_close_group() */ |