summaryrefslogtreecommitdiffstats
path: root/src/H5O.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1999-03-30 11:38:34 (GMT)
committerRobb Matzke <matzke@llnl.gov>1999-03-30 11:38:34 (GMT)
commitf003dead4d1701aedd7833354ede73c6eb93a971 (patch)
treee64999eb9d666aedd808f1c91f4a2be8676d6881 /src/H5O.c
parent804fae33ced79c63a2c7fa2adc8537c80597fb33 (diff)
downloadhdf5-f003dead4d1701aedd7833354ede73c6eb93a971.zip
hdf5-f003dead4d1701aedd7833354ede73c6eb93a971.tar.gz
hdf5-f003dead4d1701aedd7833354ede73c6eb93a971.tar.bz2
[svn-r1169] ./configure.in
./configure [REGENERATED] ./src/H5D.c ./src/H5O.c Removed H5AC, H5B, and H5T from the default list of packages to debug (because they're pretty expensive debugging), and added H5O. Also fixed a bug for undefined variable in H5D when H5S debugging is turned on but H5T debugging is turned off. ./config/conclude.in Fixed installation of header files for building in a directory other than the source directory. This fixes a bug where H5config.h wasn't being installed. ./src/H5.c ./src/H5A.c ./src/H5D.c ./src/H5F.c ./src/H5G.c ./src/H5I.c ./src/H5Iprivate.h ./src/H5P.c ./src/H5R.c ./src/H5RA.c ./src/H5S.c ./src/H5T.c ./src/H5TB.c ./src/H5Tprivate.h ./src/H5Z.c ./src/H5detect.c ./src/H5private.h Changed the way the library shuts down again. Now it handles cycles between packages and isn't so sensitive to dependencies between packages. A package might shut down only to be restarted to process a request from some other package being shut down. Loops are detected after 100 iteractions and the shutdown is aborted with a message on standard error. This also makes it a lot easier to debug. ./src/H5A.c Fixed H5A_write() and H5A_read() so they pass a non-null background buffer to the conversion functions. This is necessary when an attribute has a compound data type. ./src/H5Flow.c ./src/H5Fprivate.h ./src/H5Fsec2.c Reindented new Win32 stuff. ./src/H5Odtype.c Fixed a bug when enumeration types are used in a compound data type. The byte pointer wasn't incremented after the type information was written. ./tools/h5ls.c Compound data types display their total size because it's not always obvious from looking at the members. Scalar attributes show their space as `scalar' instead of `{}'. The index value is not printed for attributes that have only a few values. Instead the word `Data:' is printed on the first line of attribute data. Named types display their data type only if verbose output was requested.
Diffstat (limited to 'src/H5O.c')
-rw-r--r--src/H5O.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/H5O.c b/src/H5O.c
index b55de7c..ff90661 100644
--- a/src/H5O.c
+++ b/src/H5O.c
@@ -273,6 +273,18 @@ H5O_close(H5G_entry_t *obj_ent)
/* Decrement open-lock counters */
--obj_ent->file->nopen_objs;
+#ifdef H5O_DEBUG
+ if (H5DEBUG(O)) {
+ if (obj_ent->file->closing && 1==obj_ent->file->shared->nrefs) {
+ HDfprintf(H5DEBUG(O), "< %a auto %lu remaining\n",
+ &(obj_ent->header),
+ (unsigned long)(obj_ent->file->nopen_objs));
+ } else {
+ HDfprintf(H5DEBUG(O), "< %a\n", &(obj_ent->header));
+ }
+ }
+#endif
+
/*
* If the file open-lock count has reached zero and the file has a close
* pending then close the file and remove it from the H5I_FILE_CLOSING ID
@@ -281,11 +293,6 @@ H5O_close(H5G_entry_t *obj_ent)
if (0==obj_ent->file->nopen_objs && obj_ent->file->closing) {
H5I_dec_ref(obj_ent->file->closing);
}
-#ifdef H5O_DEBUG
- if (H5DEBUG(O)) {
- HDfprintf(H5DEBUG(O), "< %a\n", &(obj_ent->header));
- }
-#endif
FUNC_LEAVE(SUCCEED);
}