summaryrefslogtreecommitdiffstats
path: root/src/H5.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5.c')
-rw-r--r--src/H5.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/H5.c b/src/H5.c
index 2628c07..85e8b91 100644
--- a/src/H5.c
+++ b/src/H5.c
@@ -288,12 +288,12 @@ H5_term_library(void)
n) : n))
do {
- pending = 0;
+ pending = 0;
/* Try to organize these so the "higher" level components get shut
* down before "lower" level components that they might rely on. -QAK
*/
- pending += DOWN(L);
+ pending += DOWN(L);
/* Close the "top" of various interfaces (IDs, etc) but don't shut
* down the whole interface yet, so that the object header messages
@@ -304,7 +304,7 @@ H5_term_library(void)
pending += DOWN(A_top);
pending += DOWN(D_top);
pending += DOWN(G_top);
- pending += DOWN(R_top);
+ pending += DOWN(R_top);
pending += DOWN(S_top);
pending += DOWN(T_top);
@@ -312,6 +312,11 @@ H5_term_library(void)
if(pending == 0)
pending += DOWN(F);
+ /* Don't shut down the property list code until all objects that might
+ * use property lists are shut down */
+ if(pending == 0)
+ pending += DOWN(P);
+
/* Wait to shut down the "bottom" of various interfaces until the
* files are closed, so pieces of the file can be serialized
* correctly.
@@ -337,7 +342,6 @@ H5_term_library(void)
if(pending == 0) {
pending += DOWN(AC);
pending += DOWN(Z);
- pending += DOWN(P);
pending += DOWN(FD);
pending += DOWN(VL);
pending += DOWN(PL);