From dbdc9c1e2bd319e67659303c4d2b3e4c8eff5b07 Mon Sep 17 00:00:00 2001 From: Neil Fortner Date: Fri, 25 Sep 2015 16:48:11 -0500 Subject: [PATCH] [svn-r27879] Move property list shutdown earlier in H5_term_library, since with VDS layout it needs to call into the H5D package. Tested: ummon --- src/H5.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/H5.c b/src/H5.c index 1bb75ad59a..33ac340147 100644 --- a/src/H5.c +++ b/src/H5.c @@ -284,12 +284,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 @@ -300,7 +300,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); @@ -308,6 +308,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. @@ -333,7 +338,6 @@ H5_term_library(void) if(pending == 0) { pending += DOWN(AC); pending += DOWN(Z); - pending += DOWN(P); pending += DOWN(FD); pending += DOWN(PL); /* Don't shut down the error code until other APIs which use it are shut down */