Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid calling non-public h5fd_xxx_init() functions #967

Merged
merged 8 commits into from
Jun 18, 2022
Merged

Avoid calling non-public h5fd_xxx_init() functions #967

merged 8 commits into from
Jun 18, 2022

Commits on Jun 15, 2022

  1. Avoid calling non-public h5fd_xxx_init() functions

    The h5fd_xxx_init() functions are not part of the HDF5 public API.  A
    method of retrieving the hid_t value of drivers that uses
    public/supported API calls was suggested in a comment on a related
    github issue and is implemented in this commit.  For more details see:
    
    HDFGroup/hdf5#1809 (comment)
    david-macmahon committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    e1bd495 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e4917b7 View commit details
    Browse the repository at this point in the history
  3. Disable file locking in Drivers.__init()

    Unless the user has already set `HDF5_USE_FILE_LOCKING` in the
    environment, set it to `FALSE` to avoid causing problems with mmap'ing.
    This needs to be done before the first call to the HDF5 APIs.
    david-macmahon committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    afca05a View commit details
    Browse the repository at this point in the history
  4. Change how parallel HDF5 suppport is detected

    Instead of detecting parallel HDF5 support by whether `h5fd_mpio_init()`
    throws an exception, parallel support is detected by finding the
    `H5Pset_fapl_mpio` symbol in any loaded library whose name matches
    `r"hdf5"i`.  The documentation for `H5Pset_fapl_mpio()` states:
    
    > H5Pset_fapl_mpio() is available only in the parallel HDF5 library
    
    The detection has also been moved into `Drivers.__init__()`
    and the inclusion of `mpio.jl` (upon loading of the MPI package) will
    only happen if the HDF5 libraries have parallel support.
    david-macmahon committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    3db79a9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7760124 View commit details
    Browse the repository at this point in the history
  6. Replace contains() with call to older match()

    This maintains compatibility with pre-1.5 versions of Julia.
    david-macmahon committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    e9d513f View commit details
    Browse the repository at this point in the history
  7. Improve usage of Libdl

    david-macmahon committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    811c29d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    57c0e52 View commit details
    Browse the repository at this point in the history