Commit 50f718fd authored by Han Hu's avatar Han Hu

Close unused resource in dscreate and dsread. Otherwise, the file will not be…

Close unused resource in dscreate and dsread. Otherwise, the file will not be close when close() is called.

See  the following for Delayed close, which is close dataset after exe terminate: https://www.hdfgroup.org/HDF5/doc/RM/RM_H5F.html#File-Close

change tab to 4 blanks
parent 6768e48c
......@@ -536,7 +536,7 @@ void HDF5Impl::dscreate( const int n_dims, const int* sizes, const int type,
}
// create data
H5Dcreate( m_h5_file_id, dslabel.c_str(), dstype,
hid_t dsdata = H5Dcreate( m_h5_file_id, dslabel.c_str(), dstype,
dspace, H5P_DEFAULT, dsdcpl, H5P_DEFAULT );
if ( channs > 1 )
......@@ -548,6 +548,7 @@ void HDF5Impl::dscreate( const int n_dims, const int* sizes, const int type,
H5Pclose( dsdcpl );
H5Sclose( dspace );
H5Dclose( dsdata );
}
// overload
......@@ -663,6 +664,7 @@ void HDF5Impl::dsread( OutputArray Array, String dslabel,
delete [] mxdims;
delete [] foffset;
H5Tclose (h5type );
H5Tclose( dstype );
H5Sclose( dspace );
H5Sclose( fspace );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment