This is not the case.
H5ESwait()
does not setnum_in_progress
orop_failed
to something like0
orFalse
to indicate no failures have happened, it just leaves them to their default values. As I had not initialized the values, whatever random value was printed and interpreted, causing me to suspect an operation failure. This is also why there sometimes would be0
failures, when the random value in memory happened to be0
.
Note that H5ESwait()
should be initializing those values to 0
and false
(see hdf5/src/H5ES.c at develop · HDFGroup/hdf5 · GitHub and hdf5/src/H5ESint.c at develop · HDFGroup/hdf5 · GitHub), so if it’s not we should investigate that. Off the top of my head, the only way that I can think of for those to not be initialized is if your error stack ID passed in to H5ESwait()
is the value 0, which maps to the H5ES_NONE
macro and would cause the function to act as a no-op.
Either way, I think this experimentation gives us valuable information about how we can make the documentation better here.