summaryrefslogtreecommitdiffstats
path: root/src/H5G.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2014-04-09 05:08:21 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2014-04-09 05:08:21 (GMT)
commit3de25ee2264f80b4a842af10c69893f4e635951f (patch)
treef2ffe250f6d1ee0fb377ba69c8c41ade04c09855 /src/H5G.c
parentf32690b53c0872faf9e9ee0d0492cce360f72938 (diff)
downloadhdf5-3de25ee2264f80b4a842af10c69893f4e635951f.zip
hdf5-3de25ee2264f80b4a842af10c69893f4e635951f.tar.gz
hdf5-3de25ee2264f80b4a842af10c69893f4e635951f.tar.bz2
[svn-r24998] Description:
Check in Neil's changes for correctly handling case where library is reinitialized through a deprecated routine. Tested on: Linux 2.4.x/32 (jam)
Diffstat (limited to 'src/H5G.c')
-rw-r--r--src/H5G.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/H5G.c b/src/H5G.c
index a9ec208..b31bc5d 100644
--- a/src/H5G.c
+++ b/src/H5G.c
@@ -224,16 +224,19 @@ H5G_term_interface(void)
FUNC_ENTER_NOAPI_NOINIT_NOERR
if(H5_interface_initialize_g) {
- if((n = H5I_nmembers(H5I_GROUP)))
- H5I_clear_type(H5I_GROUP, FALSE, FALSE);
- else {
- /* Destroy the group object id group */
- H5I_dec_type_ref(H5I_GROUP);
-
- /* Mark closed */
- H5_interface_initialize_g = 0;
- n = 1; /*H5I*/
- } /* end else */
+ if((n = H5I_nmembers(H5I_GROUP)))
+ H5I_clear_type(H5I_GROUP, FALSE, FALSE);
+ else {
+ /* Close deprecated interface */
+ n += H5G__term_deprec_interface();
+
+ /* Destroy the group object id group */
+ H5I_dec_type_ref(H5I_GROUP);
+
+ /* Mark closed */
+ H5_interface_initialize_g = 0;
+ n = 1; /*H5I*/
+ } /* end else */
} /* end if */
FUNC_LEAVE_NOAPI(n)