I’d like to resurrect a topic from the distant past.
h5py currently calls
H5Eset_auto before every call into libhdf5, to suppress the normal error-printing behaviour (HDF5 errors are turned into Python exceptions instead). For the most part, calling H5Eset_auto once would work - except that each new thread starts with the default error-printing behaviour again. We want things to ‘just work’ with multiple threads as far as practical, so we silence the errors on every HDF5 call, just in case that’s the first one in a new thread.
What we’d really like is a function that can set the default error function for any new threads - maybe called
H5Eset_auto_default. Then we could call this once, and avoid a tiny bit of work on each HDF5 function call.
In the mailing list thread 10 years ago, @koziol said they had created an issue for this. Is that issue still open? Is there any prospect of resolving it for HDF5 1.12?