H5_DONT_ATEXIT indicates to the library that an atexit() cleanup routine should not be installed. The major purpose for using this function is in situations where the library is dynamically linked into an application and is un-linked from the application before exit() gets called. In those situations, a routine installed with atexit() would jump to a routine which was no longer in memory, causing errors.
In order to be effective, this routine must be called before any other HDF5 function calls, and must be called each time the library is loaded/linked into the application (the first time and after it's been un-loaded).
Returns a non-negative value if successful; otherwise returns a negative value.