octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Saving/Loading anonymous function handles in HDF5


From: Michael Goffioul
Subject: Re: Saving/Loading anonymous function handles in HDF5
Date: Tue, 5 Jun 2007 20:53:31 +0200

On 6/5/07, David Bateman <address@hidden> wrote:
so unless the interpretation of the file_id variable of the hdf5 C++
iostreams has changed, the oprn file should always be correctly closed..
This happens only with anonymous function handles saved to hdf5 files?

No it happens only with *non*-anonymous function handles.

It doesn't happen for the other hdf5 load/save tests in
octave/tests/test_sparse.m ?  If so the issue might be in that the
windows hdf5 libraries don't like if the hdf5 IDs aren't correctly
closed and there is a missing call to something like "H5Gclose (hid)" in
ov-fcn-handle.cc.

Looking at the HDF5 code, although I don't understand all the internals,
it appears that it uses internally reference counting, and that a file is
actually closed when all objects that have been opened, have been correctly
closed. See this comment for H5Fclose extracted from HDF5 code:

   This function closes the file specified by FILE_ID by
   flushing all data to storage, and terminating access to the
   file through FILE_ID.  If objects (e.g., datasets, groups,
   etc.) are open in the file then the underlying storage is not
   closed until those objects are closed; however, all data for
   the file and the open objects is flushed.

Michael.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]