From e006db2920dbfe99684d0b92695e21623c3be7bd Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Mon, 31 Oct 2022 20:54:37 -0400 Subject: [PATCH 01/14] Implement a configurable HDF5.API.use_lock() via a Ref, add RawAPI --- gen/bind_generator.jl | 6 +- src/HDF5.jl | 1 + src/api/api.jl | 7 +- src/api/functions.jl | 1948 ++++++++++++++++++++--------------------- src/api/rawapi.jl | 48 + 5 files changed, 1033 insertions(+), 977 deletions(-) create mode 100644 src/api/rawapi.jl diff --git a/gen/bind_generator.jl b/gen/bind_generator.jl index 85e5caa53..a55a6f3c5 100644 --- a/gen/bind_generator.jl +++ b/gen/bind_generator.jl @@ -242,10 +242,12 @@ function _bind(__module__, __source__, sig::Expr, err::Union{String,Expr,Nothing # is instead explicitly injected into the function body via __source__. jlfuncsig = Expr(:call, jlfuncname, args...) jlfuncbody = Expr( - :block, __source__, :(lock(liblock)), :($statsym = try + :block, __source__, + :(use_lock() && lock(liblock)), + :($statsym = try $ccallexpr finally - unlock(liblock) + use_lock() && unlock(liblock) end) ) if errexpr !== nothing diff --git a/src/HDF5.jl b/src/HDF5.jl index 8e8cd4056..0c895c6eb 100644 --- a/src/HDF5.jl +++ b/src/HDF5.jl @@ -64,6 +64,7 @@ export @read, h5doc(name) = "[`$name`](https://portal.hdfgroup.org/display/HDF5/$(name))" include("api/api.jl") +include("api/rawapi.jl") include("properties.jl") include("context.jl") include("types.jl") diff --git a/src/api/api.jl b/src/api/api.jl index dda13d7cb..fb0ef591a 100644 --- a/src/api/api.jl +++ b/src/api/api.jl @@ -14,6 +14,8 @@ else end const liblock = ReentrantLock() +const _use_lock = Ref(true) +use_lock() = _use_lock[] include("types.jl") include("error.jl") @@ -22,6 +24,9 @@ include("helpers.jl") function __init__() # HDF5.API.__init__() is run before HDF5.__init__() + + # Not need to lock if single threaded + _use_lock[] = Threads.nthreads() > 1 # From deps.jl check_deps() @@ -37,7 +42,7 @@ function __init__() end # use our own error handling machinery (i.e. turn off automatic error printing) - h5e_set_auto(API.H5E_DEFAULT, C_NULL, C_NULL) + h5e_set_auto(H5E_DEFAULT, C_NULL, C_NULL) end end # module API diff --git a/src/api/functions.jl b/src/api/functions.jl index 770d5734f..0deb11cdc 100644 --- a/src/api/functions.jl +++ b/src/api/functions.jl @@ -17,11 +17,11 @@ _libhdf5_build_ver = let See `libhdf5` documentation for [`H5close`](https://portal.hdfgroup.org/display/HDF5/H5_CLOSE). """ function h5_close() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5close, libhdf5), herr_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing the HDF5 resources") return nothing @@ -33,11 +33,11 @@ end See `libhdf5` documentation for [`H5dont_atexit`](https://portal.hdfgroup.org/display/HDF5/H5_DONT_ATEXIT). """ function h5_dont_atexit() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5dont_atexit, libhdf5), herr_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error calling dont_atexit") return nothing @@ -49,11 +49,11 @@ end See `libhdf5` documentation for [`H5free_memory`](https://portal.hdfgroup.org/display/HDF5/H5_FREE_MEMORY). """ function h5_free_memory(buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5free_memory, libhdf5), herr_t, (Ptr{Cvoid},), buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error freeing memory") return nothing @@ -65,11 +65,11 @@ end See `libhdf5` documentation for [`H5garbage_collect`](https://portal.hdfgroup.org/display/HDF5/H5_GARBAGE_COLLECT). """ function h5_garbage_collect() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5garbage_collect, libhdf5), herr_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error on garbage collect") return nothing @@ -81,11 +81,11 @@ end See `libhdf5` documentation for [`H5get_libversion`](https://portal.hdfgroup.org/display/HDF5/H5_GET_LIBVERSION). """ function h5_get_libversion(majnum, minnum, relnum) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5get_libversion, libhdf5), herr_t, (Ref{Cuint}, Ref{Cuint}, Ref{Cuint}), majnum, minnum, relnum) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting HDF5 library version") return nothing @@ -97,11 +97,11 @@ end See `libhdf5` documentation for [`H5is_library_threadsafe`](https://portal.hdfgroup.org/display/HDF5/H5_IS_LIBRARY_THREADSAFE). """ function h5_is_library_threadsafe(is_ts) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5is_library_threadsafe, libhdf5), herr_t, (Ref{Cuint},), is_ts) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining thread safety") return nothing @@ -113,11 +113,11 @@ end See `libhdf5` documentation for [`H5open`](https://portal.hdfgroup.org/display/HDF5/H5_OPEN). """ function h5_open() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5open, libhdf5), herr_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing the HDF5 library") return nothing @@ -129,11 +129,11 @@ end See `libhdf5` documentation for [`H5set_free_list_limits`](https://portal.hdfgroup.org/display/HDF5/H5_SET_FREE_LIST_LIMITS). """ function h5_set_free_list_limits(reg_global_lim, reg_list_lim, arr_global_lim, arr_list_lim, blk_global_lim, blk_list_lim) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5set_free_list_limits, libhdf5), herr_t, (Cint, Cint, Cint, Cint, Cint, Cint), reg_global_lim, reg_list_lim, arr_global_lim, arr_list_lim, blk_global_lim, blk_list_lim) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting limits on free lists") return nothing @@ -145,11 +145,11 @@ end See `libhdf5` documentation for [`H5Aclose`](https://portal.hdfgroup.org/display/HDF5/H5A_CLOSE). """ function h5a_close(id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aclose, libhdf5), herr_t, (hid_t,), id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing attribute") return nothing @@ -161,11 +161,11 @@ end See `libhdf5` documentation for [`H5Acreate2`](https://portal.hdfgroup.org/display/HDF5/H5A_CREATE2). """ function h5a_create(loc_id, attr_name, type_id, space_id, acpl_id, aapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Acreate2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t, hid_t, hid_t, hid_t), loc_id, attr_name, type_id, space_id, acpl_id, aapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating attribute ", attr_name, " for object ", h5i_get_name(loc_id))) return var"#status#" @@ -177,11 +177,11 @@ end See `libhdf5` documentation for [`H5Acreate_by_name`](https://portal.hdfgroup.org/display/HDF5/H5A_CREATE_BY_NAME). """ function h5a_create_by_name(loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Acreate_by_name, libhdf5), hid_t, (hid_t, Ptr{UInt8}, Ptr{UInt8}, hid_t, hid_t, hid_t, hid_t, hid_t), loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating attribute ", attr_name, " for object ", obj_name)) return var"#status#" @@ -193,11 +193,11 @@ end See `libhdf5` documentation for [`H5Adelete`](https://portal.hdfgroup.org/display/HDF5/H5A_DELETE). """ function h5a_delete(loc_id, attr_name) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Adelete, libhdf5), herr_t, (hid_t, Ptr{UInt8}), loc_id, attr_name) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error deleting attribute ", attr_name)) return nothing @@ -209,11 +209,11 @@ end See `libhdf5` documentation for [`H5Adelete_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5A_DELETE_BY_IDX). """ function h5a_delete_by_idx(loc_id, obj_name, idx_type, order, n, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Adelete_by_idx, libhdf5), herr_t, (hid_t, Ptr{UInt8}, Cint, Cint, hsize_t, hid_t), loc_id, obj_name, idx_type, order, n, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error deleting attribute ", n, " from object ", obj_name)) return nothing @@ -225,11 +225,11 @@ end See `libhdf5` documentation for [`H5Adelete_by_name`](https://portal.hdfgroup.org/display/HDF5/H5A_DELETE_BY_NAME). """ function h5a_delete_by_name(loc_id, obj_name, attr_name, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Adelete_by_name, libhdf5), herr_t, (hid_t, Ptr{UInt8}, Ptr{UInt8}, hid_t), loc_id, obj_name, attr_name, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error removing attribute ", attr_name, " from object ", obj_name)) return nothing @@ -241,11 +241,11 @@ end See `libhdf5` documentation for [`H5Aexists`](https://portal.hdfgroup.org/display/HDF5/H5A_EXISTS). """ function h5a_exists(obj_id, attr_name) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aexists, libhdf5), htri_t, (hid_t, Ptr{UInt8}), obj_id, attr_name) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error checking whether attribute ", attr_name, " exists")) return var"#status#" > 0 @@ -257,11 +257,11 @@ end See `libhdf5` documentation for [`H5Aexists_by_name`](https://portal.hdfgroup.org/display/HDF5/H5A_EXISTS_BY_NAME). """ function h5a_exists_by_name(loc_id, obj_name, attr_name, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aexists_by_name, libhdf5), htri_t, (hid_t, Ptr{UInt8}, Ptr{UInt8}, hid_t), loc_id, obj_name, attr_name, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error checking whether object ", obj_name, " has attribute ", attr_name)) return var"#status#" > 0 @@ -273,11 +273,11 @@ end See `libhdf5` documentation for [`H5Aget_create_plist`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_CREATE_PLIST). """ function h5a_get_create_plist(attr_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aget_create_plist, libhdf5), hid_t, (hid_t,), attr_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Cannot get creation property list") return var"#status#" @@ -289,11 +289,11 @@ end See `libhdf5` documentation for [`H5Aget_name`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_NAME). """ function h5a_get_name(attr_id, buf_size, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aget_name, libhdf5), Cssize_t, (hid_t, Csize_t, Ptr{UInt8}), attr_id, buf_size, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute name") return var"#status#" @@ -305,11 +305,11 @@ end See `libhdf5` documentation for [`H5Aget_name_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_NAME_BY_IDX). """ function h5a_get_name_by_idx(loc_id, obj_name, index_type, order, idx, name, size, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aget_name_by_idx, libhdf5), Cssize_t, (hid_t, Cstring, Cint, Cint, hsize_t, Ptr{UInt8}, Csize_t, hid_t), loc_id, obj_name, index_type, order, idx, name, size, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute name") return var"#status#" @@ -321,11 +321,11 @@ end See `libhdf5` documentation for [`H5Aget_space`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_SPACE). """ function h5a_get_space(attr_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aget_space, libhdf5), hid_t, (hid_t,), attr_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute dataspace") return var"#status#" @@ -337,11 +337,11 @@ end See `libhdf5` documentation for [`H5Aget_type`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_TYPE). """ function h5a_get_type(attr_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aget_type, libhdf5), hid_t, (hid_t,), attr_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute type") return var"#status#" @@ -353,11 +353,11 @@ end See `libhdf5` documentation for [`H5Aiterate2`](https://portal.hdfgroup.org/display/HDF5/H5A_ITERATE2). """ function h5a_iterate(obj_id, idx_type, order, n, op, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aiterate2, libhdf5), herr_t, (hid_t, Cint, Cint, Ptr{hsize_t}, Ptr{Cvoid}, Any), obj_id, idx_type, order, n, op, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error iterating attributes in object ", h5i_get_name(obj_id))) return nothing @@ -369,11 +369,11 @@ end See `libhdf5` documentation for [`H5Aopen`](https://portal.hdfgroup.org/display/HDF5/H5A_OPEN). """ function h5a_open(obj_id, attr_name, aapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aopen, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), obj_id, attr_name, aapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening attribute ", attr_name, " for object ", h5i_get_name(obj_id))) return var"#status#" @@ -385,11 +385,11 @@ end See `libhdf5` documentation for [`H5Aopen_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5A_OPEN_BY_IDX). """ function h5a_open_by_idx(obj_id, pathname, idx_type, order, n, aapl_id, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aopen_by_idx, libhdf5), hid_t, (hid_t, Ptr{UInt8}, Cint, Cint, hsize_t, hid_t, hid_t), obj_id, pathname, idx_type, order, n, aapl_id, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening attribute ", n, " of ", h5i_get_name(obj_id), "/", pathname)) return var"#status#" @@ -401,11 +401,11 @@ end See `libhdf5` documentation for [`H5Aread`](https://portal.hdfgroup.org/display/HDF5/H5A_READ). """ function h5a_read(attr_id, mem_type_id, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Aread, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), attr_id, mem_type_id, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error reading attribute ", h5a_get_name(attr_id))) return nothing @@ -417,11 +417,11 @@ end See `libhdf5` documentation for [`H5Arename`](https://portal.hdfgroup.org/display/HDF5/H5A_RENAME). """ function h5a_rename(loc_id, old_attr_name, new_attr_name) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Arename, libhdf5), herr_t, (hid_t, Cstring, Cstring), loc_id, old_attr_name, new_attr_name) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Could not rename attribute")) return nothing @@ -433,11 +433,11 @@ end See `libhdf5` documentation for [`H5Awrite`](https://portal.hdfgroup.org/display/HDF5/H5A_WRITE). """ function h5a_write(attr_hid, mem_type_id, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Awrite, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), attr_hid, mem_type_id, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing attribute data") return nothing @@ -449,11 +449,11 @@ end See `libhdf5` documentation for [`H5Dclose`](https://portal.hdfgroup.org/display/HDF5/H5D_CLOSE). """ function h5d_close(dataset_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dclose, libhdf5), herr_t, (hid_t,), dataset_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing dataset") return nothing @@ -465,11 +465,11 @@ end See `libhdf5` documentation for [`H5Dcreate2`](https://portal.hdfgroup.org/display/HDF5/H5D_CREATE2). """ function h5d_create(loc_id, pathname, dtype_id, space_id, lcpl_id, dcpl_id, dapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dcreate2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t, hid_t, hid_t, hid_t, hid_t), loc_id, pathname, dtype_id, space_id, lcpl_id, dcpl_id, dapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating dataset ", h5i_get_name(loc_id), "/", pathname)) return var"#status#" @@ -481,11 +481,11 @@ end See `libhdf5` documentation for [`H5Dcreate_anon`](https://portal.hdfgroup.org/display/HDF5/H5D_CREATE_ANON). """ function h5d_create_anon(loc_id, type_id, space_id, dcpl_id, dapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dcreate_anon, libhdf5), hid_t, (hid_t, hid_t, hid_t, hid_t, hid_t), loc_id, type_id, space_id, dcpl_id, dapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in creating anonymous dataset") return var"#status#" @@ -497,11 +497,11 @@ end See `libhdf5` documentation for [`H5Dextend`](https://portal.hdfgroup.org/display/HDF5/H5D_EXTEND). """ function h5d_extend(dataset_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dextend, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), dataset_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error extending dataset") return nothing @@ -513,11 +513,11 @@ end See `libhdf5` documentation for [`H5Dfill`](https://portal.hdfgroup.org/display/HDF5/H5D_FILL). """ function h5d_fill(fill, fill_type_id, buf, buf_type_id, space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dfill, libhdf5), herr_t, (Ptr{Cvoid}, hid_t, Ptr{Cvoid}, hid_t, hid_t), fill, fill_type_id, buf, buf_type_id, space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error filling dataset") return nothing @@ -529,11 +529,11 @@ end See `libhdf5` documentation for [`H5Dflush`](https://portal.hdfgroup.org/display/HDF5/H5D_FLUSH). """ function h5d_flush(dataset_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dflush, libhdf5), herr_t, (hid_t,), dataset_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error flushing dataset") return nothing @@ -545,11 +545,11 @@ end See `libhdf5` documentation for [`H5Dgather`](https://portal.hdfgroup.org/display/HDF5/H5D_GATHER). """ function h5d_gather(src_space_id, src_buf, type_id, dst_buf_size, dst_buf, op, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dgather, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, hid_t, Csize_t, Ptr{Cvoid}, Ptr{Cvoid}, Any), src_space_id, src_buf, type_id, dst_buf_size, dst_buf, op, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error gathering dataset") return nothing @@ -561,11 +561,11 @@ end See `libhdf5` documentation for [`H5Dget_access_plist`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_ACCESS_PLIST). """ function h5d_get_access_plist(dataset_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_access_plist, libhdf5), hid_t, (hid_t,), dataset_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataset access property list") return var"#status#" @@ -577,11 +577,11 @@ end See `libhdf5` documentation for [`H5Dget_chunk_info`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_CHUNK_INFO). """ function h5d_get_chunk_info(dataset_id, fspace_id, index, offset, filter_mask, addr, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_chunk_info, libhdf5), herr_t, (hid_t, hid_t, hsize_t, Ptr{hsize_t}, Ptr{Cuint}, Ptr{haddr_t}, Ptr{hsize_t}), dataset_id, fspace_id, index, offset, filter_mask, addr, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting chunk info") return nothing @@ -594,11 +594,11 @@ end See `libhdf5` documentation for [`H5Dget_chunk_info_by_coord`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_CHUNK_INFO_BY_COORD). """ function h5d_get_chunk_info_by_coord(dataset_id, offset, filter_mask, addr, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_chunk_info_by_coord, libhdf5), herr_t, (hid_t, Ptr{hsize_t}, Ptr{Cuint}, Ptr{haddr_t}, Ptr{hsize_t}), dataset_id, offset, filter_mask, addr, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting chunk info by coord") return nothing @@ -611,11 +611,11 @@ end See `libhdf5` documentation for [`H5Dget_chunk_storage_size`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_CHUNK_STORAGE_SIZE). """ function h5d_get_chunk_storage_size(dataset_id, offset, chunk_nbytes) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_chunk_storage_size, libhdf5), herr_t, (hid_t, Ptr{hsize_t}, Ptr{hsize_t}), dataset_id, offset, chunk_nbytes) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting chunk storage size") return nothing @@ -627,11 +627,11 @@ end See `libhdf5` documentation for [`H5Dget_create_plist`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_CREATE_PLIST). """ function h5d_get_create_plist(dataset_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_create_plist, libhdf5), hid_t, (hid_t,), dataset_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataset create property list") return var"#status#" @@ -644,11 +644,11 @@ end See `libhdf5` documentation for [`H5Dget_num_chunks`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_NUM_CHUNKS). """ function h5d_get_num_chunks(dataset_id, fspace_id, nchunks) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_num_chunks, libhdf5), herr_t, (hid_t, hid_t, Ptr{hsize_t}), dataset_id, fspace_id, nchunks) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting number of chunks") return nothing @@ -661,11 +661,11 @@ end See `libhdf5` documentation for [`H5Dget_offset`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_OFFSET). """ function h5d_get_offset(dataset_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_offset, libhdf5), haddr_t, (hid_t,), dataset_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" == -1 % haddr_t && @h5error("Error getting offset") return var"#status#" @@ -677,11 +677,11 @@ end See `libhdf5` documentation for [`H5Dget_space`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_SPACE). """ function h5d_get_space(dataset_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_space, libhdf5), hid_t, (hid_t,), dataset_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataspace") return var"#status#" @@ -693,11 +693,11 @@ end See `libhdf5` documentation for [`H5Dget_space_status`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_SPACE_STATUS). """ function h5d_get_space_status(dataset_id, status) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_space_status, libhdf5), herr_t, (hid_t, Ref{Cint}), dataset_id, status) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataspace status") return nothing @@ -709,11 +709,11 @@ end See `libhdf5` documentation for [`H5Dget_storage_size`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_STORAGE_SIZE). """ function h5d_get_storage_size(dataset_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_storage_size, libhdf5), hsize_t, (hid_t,), dataset_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" == -1 % hsize_t && @h5error("Error getting storage size") return var"#status#" @@ -725,11 +725,11 @@ end See `libhdf5` documentation for [`H5Dget_type`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_TYPE). """ function h5d_get_type(dataset_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dget_type, libhdf5), hid_t, (hid_t,), dataset_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataspace type") return var"#status#" @@ -741,11 +741,11 @@ end See `libhdf5` documentation for [`H5Diterate`](https://portal.hdfgroup.org/display/HDF5/H5D_ITERATE). """ function h5d_iterate(buf, type_id, space_id, operator, operator_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Diterate, libhdf5), herr_t, (Ptr{Cvoid}, hid_t, hid_t, Ptr{Cvoid}, Any), buf, type_id, space_id, operator, operator_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error iterating dataset") return nothing @@ -757,11 +757,11 @@ end See `libhdf5` documentation for [`H5Dopen2`](https://portal.hdfgroup.org/display/HDF5/H5D_OPEN2). """ function h5d_open(loc_id, pathname, dapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dopen2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, pathname, dapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening dataset ", h5i_get_name(loc_id), "/", pathname)) return var"#status#" @@ -773,11 +773,11 @@ end See `libhdf5` documentation for [`H5Dread`](https://portal.hdfgroup.org/display/HDF5/H5D_READ). """ function h5d_read(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dread, libhdf5), herr_t, (hid_t, hid_t, hid_t, hid_t, hid_t, Ptr{Cvoid}), dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error reading dataset ", h5i_get_name(dataset_id))) return nothing @@ -789,11 +789,11 @@ end See `libhdf5` documentation for [`H5Dread_chunk`](https://portal.hdfgroup.org/display/HDF5/H5D_READ_CHUNK). """ function h5d_read_chunk(dset, dxpl_id, offset, filters, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dread_chunk, libhdf5), herr_t, (hid_t, hid_t, Ptr{hsize_t}, Ptr{UInt32}, Ptr{Cvoid}), dset, dxpl_id, offset, filters, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error reading chunk") return nothing @@ -805,11 +805,11 @@ end See `libhdf5` documentation for [`H5Drefresh`](https://portal.hdfgroup.org/display/HDF5/H5D_REFRESH). """ function h5d_refresh(dataset_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Drefresh, libhdf5), herr_t, (hid_t,), dataset_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error refreshing dataset") return nothing @@ -821,11 +821,11 @@ end See `libhdf5` documentation for [`H5Dscatter`](https://portal.hdfgroup.org/display/HDF5/H5D_SCATTER). """ function h5d_scatter(op, op_data, type_id, dst_space_id, dst_buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dscatter, libhdf5), herr_t, (Ptr{Cvoid}, Any, hid_t, hid_t, Ptr{Cvoid}), op, op_data, type_id, dst_space_id, dst_buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error scattering to dataset") return nothing @@ -837,11 +837,11 @@ end See `libhdf5` documentation for [`H5Dset_extent`](https://portal.hdfgroup.org/display/HDF5/H5D_SET_EXTENT). """ function h5d_set_extent(dataset_id, new_dims) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dset_extent, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), dataset_id, new_dims) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error extending dataset dimensions") return nothing @@ -853,11 +853,11 @@ end See `libhdf5` documentation for [`H5Dvlen_get_buf_size`](https://portal.hdfgroup.org/display/HDF5/H5D_VLEN_GET_BUF_SIZE). """ function h5d_vlen_get_buf_size(dset_id, type_id, space_id, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dvlen_get_buf_size, libhdf5), herr_t, (hid_t, hid_t, hid_t, Ptr{hsize_t}), dset_id, type_id, space_id, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting vlen buffer size") return nothing @@ -869,11 +869,11 @@ end See `libhdf5` documentation for [`H5Dvlen_reclaim`](https://portal.hdfgroup.org/display/HDF5/H5D_VLEN_RECLAIM). """ function h5d_vlen_reclaim(type_id, space_id, plist_id, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dvlen_reclaim, libhdf5), herr_t, (hid_t, hid_t, hid_t, Ptr{Cvoid}), type_id, space_id, plist_id, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error reclaiming vlen buffer") return nothing @@ -885,11 +885,11 @@ end See `libhdf5` documentation for [`H5Dwrite`](https://portal.hdfgroup.org/display/HDF5/H5D_WRITE). """ function h5d_write(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dwrite, libhdf5), herr_t, (hid_t, hid_t, hid_t, hid_t, hid_t, Ptr{Cvoid}), dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing dataset") return nothing @@ -901,11 +901,11 @@ end See `libhdf5` documentation for [`H5Dwrite_chunk`](https://portal.hdfgroup.org/display/HDF5/H5D_WRITE_CHUNK). """ function h5d_write_chunk(dset_id, dxpl_id, filter_mask, offset, bufsize, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Dwrite_chunk, libhdf5), herr_t, (hid_t, hid_t, UInt32, Ptr{hsize_t}, Csize_t, Ptr{Cvoid}), dset_id, dxpl_id, filter_mask, offset, bufsize, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing chunk") return nothing @@ -917,11 +917,11 @@ end See `libhdf5` documentation for [`H5Eget_auto2`](https://portal.hdfgroup.org/display/HDF5/H5E_GET_AUTO2). """ function h5e_get_auto(estack_id, func, client_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Eget_auto2, libhdf5), herr_t, (hid_t, Ref{Ptr{Cvoid}}, Ref{Ptr{Cvoid}}), estack_id, func, client_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting error reporting behavior") return nothing @@ -933,11 +933,11 @@ end See `libhdf5` documentation for [`H5Eset_auto2`](https://portal.hdfgroup.org/display/HDF5/H5E_SET_AUTO2). """ function h5e_set_auto(estack_id, func, client_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Eset_auto2, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, Ptr{Cvoid}), estack_id, func, client_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting error reporting behavior") return nothing @@ -949,11 +949,11 @@ end See `libhdf5` documentation for [`H5Eget_current_stack`](https://portal.hdfgroup.org/display/HDF5/H5E_GET_CURRENT_STACK). """ function h5e_get_current_stack() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Eget_current_stack, libhdf5), hid_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to return current error stack") return var"#status#" @@ -965,11 +965,11 @@ end See `libhdf5` documentation for [`H5Eget_msg`](https://portal.hdfgroup.org/display/HDF5/H5E_GET_MSG). """ function h5e_get_msg(mesg_id, mesg_type, mesg, len) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Eget_msg, libhdf5), Cssize_t, (hid_t, Ref{Cint}, Ref{UInt8}, Csize_t), mesg_id, mesg_type, mesg, len) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting message") return var"#status#" @@ -981,11 +981,11 @@ end See `libhdf5` documentation for [`H5Eget_num`](https://portal.hdfgroup.org/display/HDF5/H5E_GET_NUM). """ function h5e_get_num(estack_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Eget_num, libhdf5), Cssize_t, (hid_t,), estack_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting stack length") return var"#status#" @@ -997,11 +997,11 @@ end See `libhdf5` documentation for [`H5Eclose_stack`](https://portal.hdfgroup.org/display/HDF5/H5E_CLOSE_STACK). """ function h5e_close_stack(stack_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Eclose_stack, libhdf5), herr_t, (hid_t,), stack_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing stack") return nothing @@ -1013,11 +1013,11 @@ end See `libhdf5` documentation for [`H5Ewalk2`](https://portal.hdfgroup.org/display/HDF5/H5E_WALK2). """ function h5e_walk(stack_id, direction, op, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Ewalk2, libhdf5), herr_t, (hid_t, Cint, Ptr{Cvoid}, Any), stack_id, direction, op, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error walking stack") return nothing @@ -1029,11 +1029,11 @@ end See `libhdf5` documentation for [`H5Fclear_elink_file_cache`](https://portal.hdfgroup.org/display/HDF5/H5F_CLEAR_ELINK_FILE_CACHE). """ function h5f_clear_elink_file_cache(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fclear_elink_file_cache, libhdf5), herr_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_clear_elink_file_cache (not annotated)") return nothing @@ -1045,11 +1045,11 @@ end See `libhdf5` documentation for [`H5Fclose`](https://portal.hdfgroup.org/display/HDF5/H5F_CLOSE). """ function h5f_close(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fclose, libhdf5), herr_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing file") return nothing @@ -1061,11 +1061,11 @@ end See `libhdf5` documentation for [`H5Fcreate`](https://portal.hdfgroup.org/display/HDF5/H5F_CREATE). """ function h5f_create(pathname, flags, fcpl_id, fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fcreate, libhdf5), hid_t, (Ptr{UInt8}, Cuint, hid_t, hid_t), pathname, flags, fcpl_id, fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating file $(pathname)") return var"#status#" @@ -1077,11 +1077,11 @@ end See `libhdf5` documentation for [`H5Fdelete`](https://portal.hdfgroup.org/display/HDF5/H5F_DELETE). """ function h5f_delete(filename, fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fdelete, libhdf5), herr_t, (Ptr{Cchar}, hid_t), filename, fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_delete (not annotated)") return nothing @@ -1093,11 +1093,11 @@ end See `libhdf5` documentation for [`H5Fflush`](https://portal.hdfgroup.org/display/HDF5/H5F_FLUSH). """ function h5f_flush(object_id, scope) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fflush, libhdf5), herr_t, (hid_t, Cint), object_id, scope) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error flushing object to file") return nothing @@ -1109,11 +1109,11 @@ end See `libhdf5` documentation for [`H5Fformat_convert`](https://portal.hdfgroup.org/display/HDF5/H5F_FORMAT_CONVERT). """ function h5f_format_convert(fid) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fformat_convert, libhdf5), herr_t, (hid_t,), fid) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_format_convert (not annotated)") return nothing @@ -1125,11 +1125,11 @@ end See `libhdf5` documentation for [`H5Fget_access_plist`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_ACCESS_PLIST). """ function h5f_get_access_plist(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_access_plist, libhdf5), hid_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file access property list") return var"#status#" @@ -1141,11 +1141,11 @@ end See `libhdf5` documentation for [`H5Fget_create_plist`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_CREATE_PLIST). """ function h5f_get_create_plist(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_create_plist, libhdf5), hid_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file create property list") return var"#status#" @@ -1157,11 +1157,11 @@ end See `libhdf5` documentation for [`H5Fget_dset_no_attrs_hint`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_DSET_NO_ATTRS_HINT). """ function h5f_get_dset_no_attrs_hint(file_id, minimize) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_dset_no_attrs_hint, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), file_id, minimize) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataset no attributes hint") return nothing @@ -1173,11 +1173,11 @@ end See `libhdf5` documentation for [`H5Fget_eoa`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_EOA). """ function h5f_get_eoa(file_id, eoa) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_eoa, libhdf5), herr_t, (hid_t, Ptr{haddr_t}), file_id, eoa) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_eoa (not annotated)") return nothing @@ -1189,11 +1189,11 @@ end See `libhdf5` documentation for [`H5Fget_file_image`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FILE_IMAGE). """ function h5f_get_file_image(file_id, buf_ptr, buf_len) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_file_image, libhdf5), Cssize_t, (hid_t, Ptr{Cvoid}, Csize_t), file_id, buf_ptr, buf_len) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_file_image (not annotated)") return var"#status#" @@ -1205,11 +1205,11 @@ end See `libhdf5` documentation for [`H5Fget_fileno`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FILENO). """ function h5f_get_fileno(file_id, fileno) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_fileno, libhdf5), herr_t, (hid_t, Ptr{Culong}), file_id, fileno) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_fileno (not annotated)") return nothing @@ -1221,11 +1221,11 @@ end See `libhdf5` documentation for [`H5Fget_filesize`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FILESIZE). """ function h5f_get_filesize(file_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_filesize, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), file_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_filesize (not annotated)") return nothing @@ -1237,11 +1237,11 @@ end See `libhdf5` documentation for [`H5Fget_free_sections`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FREE_SECTIONS). """ function h5f_get_free_sections(file_id, type, nsects, sect_info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_free_sections, libhdf5), Cssize_t, (hid_t, H5F_mem_t, Csize_t, Ptr{H5F_sect_info_t}), file_id, type, nsects, sect_info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_free_sections (not annotated)") return var"#status#" @@ -1253,11 +1253,11 @@ end See `libhdf5` documentation for [`H5Fget_freespace`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FREESPACE). """ function h5f_get_freespace(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_freespace, libhdf5), hssize_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_freespace (not annotated)") return var"#status#" @@ -1269,11 +1269,11 @@ end See `libhdf5` documentation for [`H5Fget_intent`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_INTENT). """ function h5f_get_intent(file_id, intent) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_intent, libhdf5), herr_t, (hid_t, Ptr{Cuint}), file_id, intent) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file intent") return nothing @@ -1285,11 +1285,11 @@ end See `libhdf5` documentation for [`H5Fget_info2`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_INFO2). """ function h5f_get_info(obj_id, file_info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_info2, libhdf5), herr_t, (hid_t, Ptr{H5F_info2_t}), obj_id, file_info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_info2 (not annotated)") return nothing @@ -1301,11 +1301,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_config`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_CONFIG). """ function h5f_get_mdc_config(file_id, config_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_config_t}), file_id, config_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_config (not annotated)") return nothing @@ -1317,11 +1317,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_hit_rate`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_HIT_RATE). """ function h5f_get_mdc_hit_rate(file_id, hit_rate_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_hit_rate, libhdf5), herr_t, (hid_t, Ptr{Cdouble}), file_id, hit_rate_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_hit_rate (not annotated)") return nothing @@ -1333,11 +1333,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_image_info`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_IMAGE_INFO). """ function h5f_get_mdc_image_info(file_id, image_addr, image_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_image_info, libhdf5), herr_t, (hid_t, Ptr{haddr_t}, Ptr{hsize_t}), file_id, image_addr, image_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_image_info (not annotated)") return nothing @@ -1349,11 +1349,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_logging_status`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_LOGGING_STATUS). """ function h5f_get_mdc_logging_status(file_id, is_enabled, is_currently_logging) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_logging_status, libhdf5), herr_t, (hid_t, Ptr{hbool_t}, Ptr{hbool_t}), file_id, is_enabled, is_currently_logging) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_logging_status (not annotated)") return nothing @@ -1365,11 +1365,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_size`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_SIZE). """ function h5f_get_mdc_size(file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_size, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cint}), file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_size (not annotated)") return nothing @@ -1381,11 +1381,11 @@ end See `libhdf5` documentation for [`H5Fget_metadata_read_retry_info`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_METADATA_READ_RETRY_INFO). """ function h5f_get_metadata_read_retry_info(file_id, info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_metadata_read_retry_info, libhdf5), herr_t, (hid_t, Ptr{H5F_retry_info_t}), file_id, info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_metadata_read_retry_info (not annotated)") return nothing @@ -1397,11 +1397,11 @@ end See `libhdf5` documentation for [`H5Fget_mpi_atomicity`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MPI_ATOMICITY). """ function h5f_get_mpi_atomicity(file_id, flag) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_mpi_atomicity, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), file_id, flag) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mpi_atomicity (not annotated)") return nothing @@ -1413,11 +1413,11 @@ end See `libhdf5` documentation for [`H5Fget_name`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_NAME). """ function h5f_get_name(obj_id, buf, buf_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_name, libhdf5), Cssize_t, (hid_t, Ptr{UInt8}, Csize_t), obj_id, buf, buf_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file name") return var"#status#" @@ -1429,11 +1429,11 @@ end See `libhdf5` documentation for [`H5Fget_obj_count`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_OBJ_COUNT). """ function h5f_get_obj_count(file_id, types) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_obj_count, libhdf5), Cssize_t, (hid_t, Cuint), file_id, types) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object count") return var"#status#" @@ -1445,11 +1445,11 @@ end See `libhdf5` documentation for [`H5Fget_obj_ids`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_OBJ_IDS). """ function h5f_get_obj_ids(file_id, types, max_objs, obj_id_list) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_obj_ids, libhdf5), Cssize_t, (hid_t, Cuint, Csize_t, Ptr{hid_t}), file_id, types, max_objs, obj_id_list) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting objects") return var"#status#" @@ -1461,11 +1461,11 @@ end See `libhdf5` documentation for [`H5Fget_page_buffering_stats`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_PAGE_BUFFERING_STATS). """ function h5f_get_page_buffering_stats(file_id, accesses, hits, misses, evictions, bypasses) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_page_buffering_stats, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}), file_id, accesses, hits, misses, evictions, bypasses) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_page_buffering_stats (not annotated)") return nothing @@ -1477,11 +1477,11 @@ end See `libhdf5` documentation for [`H5Fget_vfd_handle`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_VFD_HANDLE). """ function h5f_get_vfd_handle(file_id, fapl_id, file_handle) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fget_vfd_handle, libhdf5), herr_t, (hid_t, hid_t, Ref{Ptr{Cvoid}}), file_id, fapl_id, file_handle) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting VFD handle") return nothing @@ -1493,11 +1493,11 @@ end See `libhdf5` documentation for [`H5Fincrement_filesize`](https://portal.hdfgroup.org/display/HDF5/H5F_INCREMENT_FILESIZE). """ function h5f_increment_filesize(file_id, increment) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fincrement_filesize, libhdf5), herr_t, (hid_t, hsize_t), file_id, increment) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_increment_filesize (not annotated)") return nothing @@ -1509,11 +1509,11 @@ end See `libhdf5` documentation for [`H5Fis_accessible`](https://portal.hdfgroup.org/display/HDF5/H5F_IS_ACCESSIBLE). """ function h5f_is_accessible(container_name, fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fis_accessible, libhdf5), htri_t, (Ptr{Cchar}, hid_t), container_name, fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_is_accessible (not annotated)") return var"#status#" > 0 @@ -1525,11 +1525,11 @@ end See `libhdf5` documentation for [`H5Fis_hdf5`](https://portal.hdfgroup.org/display/HDF5/H5F_IS_HDF5). """ function h5f_is_hdf5(pathname) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fis_hdf5, libhdf5), htri_t, (Cstring,), pathname) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to access file $(pathname)") return var"#status#" > 0 @@ -1541,11 +1541,11 @@ end See `libhdf5` documentation for [`H5Fmount`](https://portal.hdfgroup.org/display/HDF5/H5F_MOUNT). """ function h5f_mount(loc, name, child, plist) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fmount, libhdf5), herr_t, (hid_t, Ptr{Cchar}, hid_t, hid_t), loc, name, child, plist) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_mount (not annotated)") return nothing @@ -1557,11 +1557,11 @@ end See `libhdf5` documentation for [`H5Fopen`](https://portal.hdfgroup.org/display/HDF5/H5F_OPEN). """ function h5f_open(pathname, flags, fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fopen, libhdf5), hid_t, (Cstring, Cuint, hid_t), pathname, flags, fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error opening file $(pathname)") return var"#status#" @@ -1573,11 +1573,11 @@ end See `libhdf5` documentation for [`H5Freopen`](https://portal.hdfgroup.org/display/HDF5/H5F_REOPEN). """ function h5f_reopen(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Freopen, libhdf5), hid_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_reopen (not annotated)") return var"#status#" @@ -1589,11 +1589,11 @@ end See `libhdf5` documentation for [`H5Freset_mdc_hit_rate_stats`](https://portal.hdfgroup.org/display/HDF5/H5F_RESET_MDC_HIT_RATE_STATS). """ function h5f_reset_mdc_hit_rate_stats(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Freset_mdc_hit_rate_stats, libhdf5), herr_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_reset_mdc_hit_rate_stats (not annotated)") return nothing @@ -1605,11 +1605,11 @@ end See `libhdf5` documentation for [`H5Freset_page_buffering_stats`](https://portal.hdfgroup.org/display/HDF5/H5F_RESET_PAGE_BUFFERING_STATS). """ function h5f_reset_page_buffering_stats(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Freset_page_buffering_stats, libhdf5), herr_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_reset_page_buffering_stats (not annotated)") return nothing @@ -1621,11 +1621,11 @@ end See `libhdf5` documentation for [`H5Fset_dset_no_attrs_hint`](https://portal.hdfgroup.org/display/HDF5/H5F_SET_DSET_NO_ATTRS_HINT). """ function h5f_set_dset_no_attrs_hint(file_id, minimize) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fset_dset_no_attrs_hint, libhdf5), herr_t, (hid_t, hbool_t), file_id, minimize) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in setting dataset no attributes hint") return nothing @@ -1637,11 +1637,11 @@ end See `libhdf5` documentation for [`H5Fset_libver_bounds`](https://portal.hdfgroup.org/display/HDF5/H5F_SET_LIBVER_BOUNDS). """ function h5f_set_libver_bounds(file_id, low, high) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fset_libver_bounds, libhdf5), herr_t, (hid_t, H5F_libver_t, H5F_libver_t), file_id, low, high) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_set_libver_bounds (not annotated)") return nothing @@ -1653,11 +1653,11 @@ end See `libhdf5` documentation for [`H5Fset_mdc_config`](https://portal.hdfgroup.org/display/HDF5/H5F_SET_MDC_CONFIG). """ function h5f_set_mdc_config(file_id, config_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fset_mdc_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_config_t}), file_id, config_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_set_mdc_config (not annotated)") return nothing @@ -1669,11 +1669,11 @@ end See `libhdf5` documentation for [`H5Fset_mpi_atomicity`](https://portal.hdfgroup.org/display/HDF5/H5F_SET_MPI_ATOMICITY). """ function h5f_set_mpi_atomicity(file_id, flag) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fset_mpi_atomicity, libhdf5), herr_t, (hid_t, hbool_t), file_id, flag) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_set_mpi_atomicity (not annotated)") return nothing @@ -1685,11 +1685,11 @@ end See `libhdf5` documentation for [`H5Fstart_mdc_logging`](https://portal.hdfgroup.org/display/HDF5/H5F_START_MDC_LOGGING). """ function h5f_start_mdc_logging(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fstart_mdc_logging, libhdf5), herr_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_start_mdc_logging (not annotated)") return nothing @@ -1701,11 +1701,11 @@ end See `libhdf5` documentation for [`H5Fstart_swmr_write`](https://portal.hdfgroup.org/display/HDF5/H5F_START_SWMR_WRITE). """ function h5f_start_swmr_write(id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fstart_swmr_write, libhdf5), herr_t, (hid_t,), id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error starting SWMR write") return nothing @@ -1717,11 +1717,11 @@ end See `libhdf5` documentation for [`H5Fstop_mdc_logging`](https://portal.hdfgroup.org/display/HDF5/H5F_STOP_MDC_LOGGING). """ function h5f_stop_mdc_logging(file_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Fstop_mdc_logging, libhdf5), herr_t, (hid_t,), file_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_stop_mdc_logging (not annotated)") return nothing @@ -1733,11 +1733,11 @@ end See `libhdf5` documentation for [`H5Funmount`](https://portal.hdfgroup.org/display/HDF5/H5F_UNMOUNT). """ function h5f_unmount(loc, name) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Funmount, libhdf5), herr_t, (hid_t, Ptr{Cchar}), loc, name) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_unmount (not annotated)") return nothing @@ -1749,11 +1749,11 @@ end See `libhdf5` documentation for [`H5Gclose`](https://portal.hdfgroup.org/display/HDF5/H5G_CLOSE). """ function h5g_close(group_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Gclose, libhdf5), herr_t, (hid_t,), group_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing group") return nothing @@ -1765,11 +1765,11 @@ end See `libhdf5` documentation for [`H5Gcreate2`](https://portal.hdfgroup.org/display/HDF5/H5G_CREATE2). """ function h5g_create(loc_id, pathname, lcpl_id, gcpl_id, gapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Gcreate2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t, hid_t, hid_t), loc_id, pathname, lcpl_id, gcpl_id, gapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating group $(h5i_get_name(loc_id))/$(pathname)") return var"#status#" @@ -1781,11 +1781,11 @@ end See `libhdf5` documentation for [`H5Gget_create_plist`](https://portal.hdfgroup.org/display/HDF5/H5G_GET_CREATE_PLIST). """ function h5g_get_create_plist(group_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Gget_create_plist, libhdf5), hid_t, (hid_t,), group_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting group create property list") return var"#status#" @@ -1797,11 +1797,11 @@ end See `libhdf5` documentation for [`H5Gget_info`](https://portal.hdfgroup.org/display/HDF5/H5G_GET_INFO). """ function h5g_get_info(group_id, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Gget_info, libhdf5), herr_t, (hid_t, Ptr{H5G_info_t}), group_id, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting group info") return nothing @@ -1813,11 +1813,11 @@ end See `libhdf5` documentation for [`H5Gget_num_objs`](https://portal.hdfgroup.org/display/HDF5/H5G_GET_NUM_OBJS). """ function h5g_get_num_objs(loc_id, num_obj) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Gget_num_objs, libhdf5), hid_t, (hid_t, Ptr{hsize_t}), loc_id, num_obj) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting group length") return var"#status#" @@ -1829,11 +1829,11 @@ end See `libhdf5` documentation for [`H5Gget_objname_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5G_GET_OBJNAME_BY_IDX). """ function h5g_get_objname_by_idx(loc_id, idx, pathname, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Gget_objname_by_idx, libhdf5), Cssize_t, (hid_t, hsize_t, Ptr{UInt8}, Csize_t), loc_id, idx, pathname, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting group object name $(h5i_get_name(loc_id))/$(pathname)") return var"#status#" @@ -1845,11 +1845,11 @@ end See `libhdf5` documentation for [`H5Gopen2`](https://portal.hdfgroup.org/display/HDF5/H5G_OPEN2). """ function h5g_open(loc_id, pathname, gapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Gopen2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, pathname, gapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error opening group $(h5i_get_name(loc_id))/$(pathname)") return var"#status#" @@ -1861,11 +1861,11 @@ end See `libhdf5` documentation for [`H5Idec_ref`](https://portal.hdfgroup.org/display/HDF5/H5I_DEC_REF). """ function h5i_dec_ref(obj_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Idec_ref, libhdf5), Cint, (hid_t,), obj_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error decementing reference") return Int(var"#status#") @@ -1877,11 +1877,11 @@ end See `libhdf5` documentation for [`H5Iget_file_id`](https://portal.hdfgroup.org/display/HDF5/H5I_GET_FILE_ID). """ function h5i_get_file_id(obj_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Iget_file_id, libhdf5), hid_t, (hid_t,), obj_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file identifier") return var"#status#" @@ -1893,11 +1893,11 @@ end See `libhdf5` documentation for [`H5Iget_name`](https://portal.hdfgroup.org/display/HDF5/H5I_GET_NAME). """ function h5i_get_name(obj_id, buf, buf_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Iget_name, libhdf5), Cssize_t, (hid_t, Ptr{UInt8}, Csize_t), obj_id, buf, buf_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object name") return var"#status#" @@ -1909,11 +1909,11 @@ end See `libhdf5` documentation for [`H5Iget_ref`](https://portal.hdfgroup.org/display/HDF5/H5I_GET_REF). """ function h5i_get_ref(obj_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Iget_ref, libhdf5), Cint, (hid_t,), obj_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting reference count") return Int(var"#status#") @@ -1925,11 +1925,11 @@ end See `libhdf5` documentation for [`H5Iget_type`](https://portal.hdfgroup.org/display/HDF5/H5I_GET_TYPE). """ function h5i_get_type(obj_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Iget_type, libhdf5), Cint, (hid_t,), obj_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting type") return Int(var"#status#") @@ -1941,11 +1941,11 @@ end See `libhdf5` documentation for [`H5Iinc_ref`](https://portal.hdfgroup.org/display/HDF5/H5I_INC_REF). """ function h5i_inc_ref(obj_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Iinc_ref, libhdf5), Cint, (hid_t,), obj_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error incrementing identifier refcount") return Int(var"#status#") @@ -1957,11 +1957,11 @@ end See `libhdf5` documentation for [`H5Iis_valid`](https://portal.hdfgroup.org/display/HDF5/H5I_IS_VALID). """ function h5i_is_valid(obj_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Iis_valid, libhdf5), htri_t, (hid_t,), obj_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Cannot determine whether object is valid") return var"#status#" > 0 @@ -1973,11 +1973,11 @@ end See `libhdf5` documentation for [`H5Lcreate_external`](https://portal.hdfgroup.org/display/HDF5/H5L_CREATE_EXTERNAL). """ function h5l_create_external(target_file_name, target_obj_name, link_loc_id, link_name, lcpl_id, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Lcreate_external, libhdf5), herr_t, (Ptr{UInt8}, Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), target_file_name, target_obj_name, link_loc_id, link_name, lcpl_id, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating external link ", link_name, " pointing to ", target_obj_name, " in file ", target_file_name)) return nothing @@ -1989,11 +1989,11 @@ end See `libhdf5` documentation for [`H5Lcreate_hard`](https://portal.hdfgroup.org/display/HDF5/H5L_CREATE_HARD). """ function h5l_create_hard(obj_loc_id, obj_name, link_loc_id, link_name, lcpl_id, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Lcreate_hard, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), obj_loc_id, obj_name, link_loc_id, link_name, lcpl_id, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating hard link ", link_name, " pointing to ", obj_name)) return nothing @@ -2005,11 +2005,11 @@ end See `libhdf5` documentation for [`H5Lcreate_soft`](https://portal.hdfgroup.org/display/HDF5/H5L_CREATE_SOFT). """ function h5l_create_soft(target_path, link_loc_id, link_name, lcpl_id, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Lcreate_soft, libhdf5), herr_t, (Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), target_path, link_loc_id, link_name, lcpl_id, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating soft link ", link_name, " pointing to ", target_path)) return nothing @@ -2021,11 +2021,11 @@ end See `libhdf5` documentation for [`H5Ldelete`](https://portal.hdfgroup.org/display/HDF5/H5L_DELETE). """ function h5l_delete(obj_id, pathname, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Ldelete, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t), obj_id, pathname, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error deleting ", h5i_get_name(obj_id), "/", pathname)) return nothing @@ -2037,11 +2037,11 @@ end See `libhdf5` documentation for [`H5Lmove`](https://portal.hdfgroup.org/display/HDF5/H5L_MOVE). """ function h5l_move(src_obj_id, src_name, dest_obj_id, dest_name, lcpl_id, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Lmove, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), src_obj_id, src_name, dest_obj_id, dest_name, lcpl_id, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error moving ", h5i_get_name(src_obj_id), "/", src_name, " to ", h5i_get_name(dest_obj_id), "/", dest_name)) return nothing @@ -2053,11 +2053,11 @@ end See `libhdf5` documentation for [`H5Lexists`](https://portal.hdfgroup.org/display/HDF5/H5L_EXISTS). """ function h5l_exists(loc_id, pathname, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Lexists, libhdf5), htri_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, pathname, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Cannot determine whether ", pathname, " exists")) return var"#status#" > 0 @@ -2069,11 +2069,11 @@ end See `libhdf5` documentation for [`H5Lget_info`](https://portal.hdfgroup.org/display/HDF5/H5L_GET_INFO). """ function h5l_get_info(link_loc_id, link_name, link_buf, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Lget_info, libhdf5), herr_t, (hid_t, Ptr{UInt8}, Ptr{H5L_info_t}, hid_t), link_loc_id, link_name, link_buf, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting info for link ", link_name)) return nothing @@ -2085,11 +2085,11 @@ end See `libhdf5` documentation for [`H5Lget_name_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5L_GET_NAME_BY_IDX). """ function h5l_get_name_by_idx(loc_id, group_name, index_field, order, n, name, size, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Lget_name_by_idx, libhdf5), Cssize_t, (hid_t, Ptr{UInt8}, Cint, Cint, hsize_t, Ptr{UInt8}, Csize_t, hid_t), loc_id, group_name, index_field, order, n, name, size, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object name") return var"#status#" @@ -2102,11 +2102,11 @@ end See `libhdf5` documentation for [`H5Literate`](https://portal.hdfgroup.org/display/HDF5/H5L_ITERATE). """ function h5l_iterate(group_id, idx_type, order, idx, op, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Literate, libhdf5), herr_t, (hid_t, Cint, Cint, Ptr{hsize_t}, Ptr{Cvoid}, Any), group_id, idx_type, order, idx, op, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error iterating through links in group ", h5i_get_name(group_id))) return nothing @@ -2120,11 +2120,11 @@ end See `libhdf5` documentation for [`H5Literate1`](https://portal.hdfgroup.org/display/HDF5/H5L_ITERATE1). """ function h5l_iterate(group_id, idx_type, order, idx, op, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Literate1, libhdf5), herr_t, (hid_t, Cint, Cint, Ptr{hsize_t}, Ptr{Cvoid}, Any), group_id, idx_type, order, idx, op, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error iterating through links in group ", h5i_get_name(group_id))) return nothing @@ -2137,11 +2137,11 @@ end See `libhdf5` documentation for [`H5Oare_mdc_flushes_disabled`](https://portal.hdfgroup.org/display/HDF5/H5O_ARE_MDC_FLUSHES_DISABLED). """ function h5o_are_mdc_flushes_disabled(object_id, are_disabled) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oare_mdc_flushes_disabled, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), object_id, are_disabled) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_are_mdc_flushes_disabled (not annotated)") return nothing @@ -2153,11 +2153,11 @@ end See `libhdf5` documentation for [`H5Oclose`](https://portal.hdfgroup.org/display/HDF5/H5O_CLOSE). """ function h5o_close(object_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oclose, libhdf5), herr_t, (hid_t,), object_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing object") return nothing @@ -2169,11 +2169,11 @@ end See `libhdf5` documentation for [`H5Ocopy`](https://portal.hdfgroup.org/display/HDF5/H5O_COPY). """ function h5o_copy(src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Ocopy, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error copying object ", h5i_get_name(src_loc_id), "/", src_name, " to ", h5i_get_name(dst_loc_id), "/", dst_name)) return nothing @@ -2185,11 +2185,11 @@ end See `libhdf5` documentation for [`H5Odecr_refcount`](https://portal.hdfgroup.org/display/HDF5/H5O_DECR_REFCOUNT). """ function h5o_decr_refcount(object_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Odecr_refcount, libhdf5), herr_t, (hid_t,), object_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_decr_refcount (not annotated)") return nothing @@ -2201,11 +2201,11 @@ end See `libhdf5` documentation for [`H5Odisable_mdc_flushes`](https://portal.hdfgroup.org/display/HDF5/H5O_DISABLE_MDC_FLUSHES). """ function h5o_disable_mdc_flushes(object_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Odisable_mdc_flushes, libhdf5), herr_t, (hid_t,), object_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_disable_mdc_flushes (not annotated)") return nothing @@ -2217,11 +2217,11 @@ end See `libhdf5` documentation for [`H5Oenable_mdc_flushes`](https://portal.hdfgroup.org/display/HDF5/H5O_ENABLE_MDC_FLUSHES). """ function h5o_enable_mdc_flushes(object_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oenable_mdc_flushes, libhdf5), herr_t, (hid_t,), object_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_enable_mdc_flushes (not annotated)") return nothing @@ -2233,11 +2233,11 @@ end See `libhdf5` documentation for [`H5Oexists_by_name`](https://portal.hdfgroup.org/display/HDF5/H5O_EXISTS_BY_NAME). """ function h5o_exists_by_name(loc_id, name, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oexists_by_name, libhdf5), htri_t, (hid_t, Ptr{Cchar}, hid_t), loc_id, name, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_exists_by_name (not annotated)") return var"#status#" > 0 @@ -2249,11 +2249,11 @@ end See `libhdf5` documentation for [`H5Oflush`](https://portal.hdfgroup.org/display/HDF5/H5O_FLUSH). """ function h5o_flush(obj_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oflush, libhdf5), herr_t, (hid_t,), obj_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_flush (not annotated)") return nothing @@ -2265,11 +2265,11 @@ end See `libhdf5` documentation for [`H5Oget_comment`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_COMMENT). """ function h5o_get_comment(obj_id, comment, bufsize) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_comment, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Csize_t), obj_id, comment, bufsize) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_comment (not annotated)") return var"#status#" @@ -2281,11 +2281,11 @@ end See `libhdf5` documentation for [`H5Oget_comment_by_name`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_COMMENT_BY_NAME). """ function h5o_get_comment_by_name(loc_id, name, comment, bufsize, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_comment_by_name, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Ptr{Cchar}, Csize_t, hid_t), loc_id, name, comment, bufsize, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_comment_by_name (not annotated)") return var"#status#" @@ -2298,11 +2298,11 @@ end See `libhdf5` documentation for [`H5Oget_info1`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO1). """ function h5o_get_info(object_id, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_info1, libhdf5), herr_t, (hid_t, Ptr{H5O_info1_t}), object_id, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object info") return nothing @@ -2316,11 +2316,11 @@ end See `libhdf5` documentation for [`H5Oget_info2`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO2). """ function h5o_get_info(loc_id, oinfo, fields) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_info2, libhdf5), herr_t, (hid_t, Ptr{H5O_info1_t}, Cuint), loc_id, oinfo, fields) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info2 (not annotated)") return nothing @@ -2334,11 +2334,11 @@ end See `libhdf5` documentation for [`H5Oget_info3`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO3). """ function h5o_get_info(loc_id, oinfo, fields) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_info3, libhdf5), herr_t, (hid_t, Ptr{H5O_info2_t}, Cuint), loc_id, oinfo, fields) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info3 (not annotated)") return nothing @@ -2352,11 +2352,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_idx1`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_IDX1). """ function h5o_get_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_idx1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, hsize_t, Ptr{H5O_info1_t}, hid_t), loc_id, group_name, idx_type, order, n, oinfo, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_idx1 (not annotated)") return nothing @@ -2370,11 +2370,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_idx2`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_IDX2). """ function h5o_get_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_idx2, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, hsize_t, Ptr{H5O_info1_t}, Cuint, hid_t), loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_idx2 (not annotated)") return nothing @@ -2388,11 +2388,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_idx3`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_IDX3). """ function h5o_get_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_idx3, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, hsize_t, Ptr{H5O_info2_t}, Cuint, hid_t), loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_idx3 (not annotated)") return nothing @@ -2406,11 +2406,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_name1`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_NAME1). """ function h5o_get_info_by_name(loc_id, name, oinfo, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_name1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_info1_t}, hid_t), loc_id, name, oinfo, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_name1 (not annotated)") return nothing @@ -2424,11 +2424,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_name2`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_NAME2). """ function h5o_get_info_by_name(loc_id, name, oinfo, fields, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_name2, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_info1_t}, Cuint, hid_t), loc_id, name, oinfo, fields, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_name2 (not annotated)") return nothing @@ -2442,11 +2442,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_name3`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_NAME3). """ function h5o_get_info_by_name(loc_id, name, oinfo, fields, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_name3, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_info2_t}, Cuint, hid_t), loc_id, name, oinfo, fields, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_name3 (not annotated)") return nothing @@ -2459,11 +2459,11 @@ end See `libhdf5` documentation for [`H5Oget_native_info`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_NATIVE_INFO). """ function h5o_get_native_info(loc_id, oinfo, fields) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_native_info, libhdf5), herr_t, (hid_t, Ptr{H5O_native_info_t}, Cuint), loc_id, oinfo, fields) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_native_info (not annotated)") return nothing @@ -2475,11 +2475,11 @@ end See `libhdf5` documentation for [`H5Oget_native_info_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_NATIVE_INFO_BY_IDX). """ function h5o_get_native_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_native_info_by_idx, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, hsize_t, Ptr{H5O_native_info_t}, Cuint, hid_t), loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_native_info_by_idx (not annotated)") return nothing @@ -2491,11 +2491,11 @@ end See `libhdf5` documentation for [`H5Oget_native_info_by_name`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_NATIVE_INFO_BY_NAME). """ function h5o_get_native_info_by_name(loc_id, name, oinfo, fields, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oget_native_info_by_name, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_native_info_t}, Cuint, hid_t), loc_id, name, oinfo, fields, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_native_info_by_name (not annotated)") return nothing @@ -2507,11 +2507,11 @@ end See `libhdf5` documentation for [`H5Oincr_refcount`](https://portal.hdfgroup.org/display/HDF5/H5O_INCR_REFCOUNT). """ function h5o_incr_refcount(object_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oincr_refcount, libhdf5), herr_t, (hid_t,), object_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_incr_refcount (not annotated)") return nothing @@ -2523,11 +2523,11 @@ end See `libhdf5` documentation for [`H5Olink`](https://portal.hdfgroup.org/display/HDF5/H5O_LINK). """ function h5o_link(obj_id, new_loc_id, new_name, lcpl_id, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Olink, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cchar}, hid_t, hid_t), obj_id, new_loc_id, new_name, lcpl_id, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_link (not annotated)") return nothing @@ -2539,11 +2539,11 @@ end See `libhdf5` documentation for [`H5Oopen`](https://portal.hdfgroup.org/display/HDF5/H5O_OPEN). """ function h5o_open(loc_id, pathname, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oopen, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, pathname, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening object ", h5i_get_name(loc_id), "/", pathname)) return var"#status#" @@ -2555,11 +2555,11 @@ end See `libhdf5` documentation for [`H5Oopen_by_addr`](https://portal.hdfgroup.org/display/HDF5/H5O_OPEN_BY_ADDR). """ function h5o_open_by_addr(loc_id, addr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oopen_by_addr, libhdf5), hid_t, (hid_t, haddr_t), loc_id, addr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error opening object by address") return var"#status#" @@ -2571,11 +2571,11 @@ end See `libhdf5` documentation for [`H5Oopen_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5O_OPEN_BY_IDX). """ function h5o_open_by_idx(loc_id, group_name, index_type, order, n, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oopen_by_idx, libhdf5), hid_t, (hid_t, Ptr{UInt8}, Cint, Cint, hsize_t, hid_t), loc_id, group_name, index_type, order, n, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening object of index ", n)) return var"#status#" @@ -2587,11 +2587,11 @@ end See `libhdf5` documentation for [`H5Orefresh`](https://portal.hdfgroup.org/display/HDF5/H5O_REFRESH). """ function h5o_refresh(oid) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Orefresh, libhdf5), herr_t, (hid_t,), oid) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_refresh (not annotated)") return nothing @@ -2603,11 +2603,11 @@ end See `libhdf5` documentation for [`H5Oset_comment`](https://portal.hdfgroup.org/display/HDF5/H5O_SET_COMMENT). """ function h5o_set_comment(obj_id, comment) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oset_comment, libhdf5), herr_t, (hid_t, Ptr{Cchar}), obj_id, comment) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_set_comment (not annotated)") return nothing @@ -2619,11 +2619,11 @@ end See `libhdf5` documentation for [`H5Oset_comment_by_name`](https://portal.hdfgroup.org/display/HDF5/H5O_SET_COMMENT_BY_NAME). """ function h5o_set_comment_by_name(loc_id, name, comment, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Oset_comment_by_name, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{Cchar}, hid_t), loc_id, name, comment, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_set_comment_by_name (not annotated)") return nothing @@ -2635,11 +2635,11 @@ end See `libhdf5` documentation for [`H5Otoken_cmp`](https://portal.hdfgroup.org/display/HDF5/H5O_TOKEN_CMP). """ function h5o_token_cmp(loc_id, token1, token2, cmp_value) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Otoken_cmp, libhdf5), herr_t, (hid_t, Ptr{H5O_token_t}, Ptr{H5O_token_t}, Ptr{Cint}), loc_id, token1, token2, cmp_value) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_token_cmp (not annotated)") return nothing @@ -2651,11 +2651,11 @@ end See `libhdf5` documentation for [`H5Otoken_from_str`](https://portal.hdfgroup.org/display/HDF5/H5O_TOKEN_FROM_STR). """ function h5o_token_from_str(loc_id, token_str, token) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Otoken_from_str, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_token_t}), loc_id, token_str, token) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_token_from_str (not annotated)") return nothing @@ -2667,11 +2667,11 @@ end See `libhdf5` documentation for [`H5Otoken_to_str`](https://portal.hdfgroup.org/display/HDF5/H5O_TOKEN_TO_STR). """ function h5o_token_to_str(loc_id, token, token_str) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Otoken_to_str, libhdf5), herr_t, (hid_t, Ptr{H5O_token_t}, Ptr{Ptr{Cchar}}), loc_id, token, token_str) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_token_to_str (not annotated)") return nothing @@ -2684,11 +2684,11 @@ end See `libhdf5` documentation for [`H5Ovisit1`](https://portal.hdfgroup.org/display/HDF5/H5O_VISIT1). """ function h5o_visit(obj_id, idx_type, order, op, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Ovisit1, libhdf5), herr_t, (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate1_t, Ptr{Cvoid}), obj_id, idx_type, order, op, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_visit1 (not annotated)") return nothing @@ -2702,11 +2702,11 @@ end See `libhdf5` documentation for [`H5Ovisit3`](https://portal.hdfgroup.org/display/HDF5/H5O_VISIT3). """ function h5o_visit(obj_id, idx_type, order, op, op_data, fields) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Ovisit3, libhdf5), herr_t, (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate2_t, Ptr{Cvoid}, Cuint), obj_id, idx_type, order, op, op_data, fields) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_visit3 (not annotated)") return nothing @@ -2720,11 +2720,11 @@ end See `libhdf5` documentation for [`H5Ovisit_by_name1`](https://portal.hdfgroup.org/display/HDF5/H5O_VISIT_BY_NAME1). """ function h5o_visit_by_name(loc_id, obj_name, idx_type, order, op, op_data, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Ovisit_by_name1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, H5O_iterate1_t, Ptr{Cvoid}, hid_t), loc_id, obj_name, idx_type, order, op, op_data, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_visit_by_name1 (not annotated)") return nothing @@ -2738,11 +2738,11 @@ end See `libhdf5` documentation for [`H5Ovisit_by_name3`](https://portal.hdfgroup.org/display/HDF5/H5O_VISIT_BY_NAME3). """ function h5o_visit_by_name(loc_id, obj_name, idx_type, order, op, op_data, fields, lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Ovisit_by_name3, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, H5O_iterate2_t, Ptr{Cvoid}, Cuint, hid_t), loc_id, obj_name, idx_type, order, op, op_data, fields, lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_visit_by_name3 (not annotated)") return nothing @@ -2755,11 +2755,11 @@ end See `libhdf5` documentation for [`H5Pget`](https://portal.hdfgroup.org/display/HDF5/H5P_GET). """ function h5p_get(plist_id, name, value) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{Cvoid}), plist_id, name, value) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get (not annotated)") return nothing @@ -2771,11 +2771,11 @@ end See `libhdf5` documentation for [`H5Pget_alignment`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ALIGNMENT). """ function h5p_get_alignment(fapl_id, threshold, alignment) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_alignment, libhdf5), herr_t, (hid_t, Ref{hsize_t}, Ref{hsize_t}), fapl_id, threshold, alignment) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting alignment") return nothing @@ -2787,11 +2787,11 @@ end See `libhdf5` documentation for [`H5Pget_alloc_time`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ALLOC_TIME). """ function h5p_get_alloc_time(plist_id, alloc_time) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_alloc_time, libhdf5), herr_t, (hid_t, Ptr{Cint}), plist_id, alloc_time) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting allocation timing") return nothing @@ -2803,11 +2803,11 @@ end See `libhdf5` documentation for [`H5Pget_append_flush`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_APPEND_FLUSH). """ function h5p_get_append_flush(dapl_id, dims, boundary, func, udata) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_append_flush, libhdf5), herr_t, (hid_t, Cuint, Ptr{hsize_t}, Ptr{H5D_append_cb_t}, Ptr{Ptr{Cvoid}}), dapl_id, dims, boundary, func, udata) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_append_flush (not annotated)") return nothing @@ -2819,11 +2819,11 @@ end See `libhdf5` documentation for [`H5Pget_attr_creation_order`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ATTR_CREATION_ORDER). """ function h5p_get_attr_creation_order(plist_id, crt_order_flags) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_attr_creation_order, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, crt_order_flags) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute creation order") return nothing @@ -2835,11 +2835,11 @@ end See `libhdf5` documentation for [`H5Pget_attr_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ATTR_PHASE_CHANGE). """ function h5p_get_attr_phase_change(plist_id, max_compact, min_dense) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_attr_phase_change, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, max_compact, min_dense) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_attr_phase_change (not annotated)") return nothing @@ -2851,11 +2851,11 @@ end See `libhdf5` documentation for [`H5Pget_btree_ratios`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_BTREE_RATIOS). """ function h5p_get_btree_ratios(plist_id, left, middle, right) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_btree_ratios, libhdf5), herr_t, (hid_t, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), plist_id, left, middle, right) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_btree_ratios (not annotated)") return nothing @@ -2867,11 +2867,11 @@ end See `libhdf5` documentation for [`H5Pget_buffer`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_BUFFER). """ function h5p_get_buffer(plist_id, tconv, bkg) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_buffer, libhdf5), Csize_t, (hid_t, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), plist_id, tconv, bkg) finally - unlock(liblock) + use_lock() && unlock(liblock) end @h5error "Error in h5p_get_buffer (not annotated)" return var"#status#" @@ -2883,11 +2883,11 @@ end See `libhdf5` documentation for [`H5Pget_cache`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CACHE). """ function h5p_get_cache(plist_id, mdc_nelmts, rdcc_nslots, rdcc_nbytes, rdcc_w0) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_cache, libhdf5), herr_t, (hid_t, Ptr{Cint}, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cdouble}), plist_id, mdc_nelmts, rdcc_nslots, rdcc_nbytes, rdcc_w0) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_cache (not annotated)") return nothing @@ -2899,11 +2899,11 @@ end See `libhdf5` documentation for [`H5Pget_char_encoding`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CHAR_ENCODING). """ function h5p_get_char_encoding(plist_id, encoding) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_char_encoding, libhdf5), herr_t, (hid_t, Ref{Cint}), plist_id, encoding) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting char encoding") return nothing @@ -2915,11 +2915,11 @@ end See `libhdf5` documentation for [`H5Pget_chunk`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CHUNK). """ function h5p_get_chunk(plist_id, n_dims, dims) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_chunk, libhdf5), Cint, (hid_t, Cint, Ptr{hsize_t}), plist_id, n_dims, dims) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting chunk size") return Int(var"#status#") @@ -2931,11 +2931,11 @@ end See `libhdf5` documentation for [`H5Pget_chunk_cache`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CHUNK_CACHE). """ function h5p_get_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_chunk_cache, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cdouble}), dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_chunk_cache (not annotated)") return nothing @@ -2947,11 +2947,11 @@ end See `libhdf5` documentation for [`H5Pget_chunk_opts`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CHUNK_OPTS). """ function h5p_get_chunk_opts(plist_id, opts) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_chunk_opts, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, opts) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_chunk_opts (not annotated)") return nothing @@ -2963,11 +2963,11 @@ end See `libhdf5` documentation for [`H5Pget_class`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CLASS). """ function h5p_get_class(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_class, libhdf5), hid_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_class (not annotated)") return var"#status#" @@ -2979,11 +2979,11 @@ end See `libhdf5` documentation for [`H5Pget_class_parent`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CLASS_PARENT). """ function h5p_get_class_parent(pclass_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_class_parent, libhdf5), hid_t, (hid_t,), pclass_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_class_parent (not annotated)") return var"#status#" @@ -2995,11 +2995,11 @@ end See `libhdf5` documentation for [`H5Pget_copy_object`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_COPY_OBJECT). """ function h5p_get_copy_object(plist_id, copy_options) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_copy_object, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, copy_options) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_copy_object (not annotated)") return nothing @@ -3011,11 +3011,11 @@ end See `libhdf5` documentation for [`H5Pget_core_write_tracking`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CORE_WRITE_TRACKING). """ function h5p_get_core_write_tracking(fapl_id, is_enabled, page_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_core_write_tracking, libhdf5), herr_t, (hid_t, Ptr{hbool_t}, Ptr{Csize_t}), fapl_id, is_enabled, page_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_core_write_tracking (not annotated)") return nothing @@ -3027,11 +3027,11 @@ end See `libhdf5` documentation for [`H5Pget_create_intermediate_group`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CREATE_INTERMEDIATE_GROUP). """ function h5p_get_create_intermediate_group(lcpl_id, crt_intermed_group) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_create_intermediate_group, libhdf5), herr_t, (hid_t, Ref{Cuint}), lcpl_id, crt_intermed_group) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting create intermediate group property") return nothing @@ -3043,11 +3043,11 @@ end See `libhdf5` documentation for [`H5Pget_data_transform`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DATA_TRANSFORM). """ function h5p_get_data_transform(plist_id, expression, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_data_transform, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Csize_t), plist_id, expression, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_data_transform (not annotated)") return var"#status#" @@ -3059,11 +3059,11 @@ end See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5p_get_driver(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_driver, libhdf5), hid_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting driver identifier") return var"#status#" @@ -3075,11 +3075,11 @@ end See `libhdf5` documentation for [`H5Pget_driver_info`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER_INFO). """ function h5p_get_driver_info(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_driver_info, libhdf5), Ptr{Cvoid}, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" == C_NULL && @h5error("Error getting driver info") return var"#status#" @@ -3091,11 +3091,11 @@ end See `libhdf5` documentation for [`H5Pget_dset_no_attrs_hint`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DSET_NO_ATTRS_HINT). """ function h5p_get_dset_no_attrs_hint(dcpl_id, minimize) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_dset_no_attrs_hint, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), dcpl_id, minimize) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in getting dataset no attributes hint property") return nothing @@ -3107,11 +3107,11 @@ end See `libhdf5` documentation for [`H5Pget_dxpl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DXPL_MPIO). """ function h5p_get_dxpl_mpio(dxpl_id, xfer_mode) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_dxpl_mpio, libhdf5), herr_t, (hid_t, Ptr{Cint}), dxpl_id, xfer_mode) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting MPIO transfer mode") return nothing @@ -3123,11 +3123,11 @@ end See `libhdf5` documentation for [`H5Pget_edc_check`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EDC_CHECK). """ function h5p_get_edc_check(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_edc_check, libhdf5), H5Z_EDC_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_edc_check (not annotated)") return var"#status#" @@ -3139,11 +3139,11 @@ end See `libhdf5` documentation for [`H5Pget_efile_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EFILE_PREFIX). """ function h5p_get_efile_prefix(dapl_id, prefix, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_efile_prefix, libhdf5), Cssize_t, (hid_t, Ptr{UInt8}, Csize_t), dapl_id, prefix, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting external file prefix") return var"#status#" @@ -3155,11 +3155,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_acc_flags`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_ACC_FLAGS). """ function h5p_get_elink_acc_flags(lapl_id, flags) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_acc_flags, libhdf5), herr_t, (hid_t, Ptr{Cuint}), lapl_id, flags) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_acc_flags (not annotated)") return nothing @@ -3171,11 +3171,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_CB). """ function h5p_get_elink_cb(lapl_id, func, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_cb, libhdf5), herr_t, (hid_t, Ptr{H5L_elink_traverse_t}, Ptr{Ptr{Cvoid}}), lapl_id, func, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_cb (not annotated)") return nothing @@ -3187,11 +3187,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_fapl`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_FAPL). """ function h5p_get_elink_fapl(lapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_fapl, libhdf5), hid_t, (hid_t,), lapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_fapl (not annotated)") return var"#status#" @@ -3203,11 +3203,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_file_cache_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_FILE_CACHE_SIZE). """ function h5p_get_elink_file_cache_size(plist_id, efc_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_file_cache_size, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, efc_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_file_cache_size (not annotated)") return nothing @@ -3219,11 +3219,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_PREFIX). """ function h5p_get_elink_prefix(plist_id, prefix, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_prefix, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Csize_t), plist_id, prefix, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_prefix (not annotated)") return var"#status#" @@ -3235,11 +3235,11 @@ end See `libhdf5` documentation for [`H5Pget_est_link_info`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EST_LINK_INFO). """ function h5p_get_est_link_info(plist_id, est_num_entries, est_name_len) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_est_link_info, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, est_num_entries, est_name_len) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_est_link_info (not annotated)") return nothing @@ -3251,11 +3251,11 @@ end See `libhdf5` documentation for [`H5Pget_evict_on_close`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EVICT_ON_CLOSE). """ function h5p_get_evict_on_close(fapl_id, evict_on_close) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_evict_on_close, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), fapl_id, evict_on_close) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_evict_on_close (not annotated)") return nothing @@ -3267,11 +3267,11 @@ end See `libhdf5` documentation for [`H5Pget_external`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EXTERNAL). """ function h5p_get_external(plist, idx, name_size, name, offset, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_external, libhdf5), herr_t, (hid_t, Cuint, Csize_t, Ptr{Cuchar}, Ptr{off_t}, Ptr{hsize_t}), plist, idx, name_size, name, offset, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting external file properties") return nothing @@ -3283,11 +3283,11 @@ end See `libhdf5` documentation for [`H5Pget_external_count`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EXTERNAL_COUNT). """ function h5p_get_external_count(plist) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_external_count, libhdf5), Cint, (hid_t,), plist) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting external count") return Int(var"#status#") @@ -3299,11 +3299,11 @@ end See `libhdf5` documentation for [`H5Pget_family_offset`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAMILY_OFFSET). """ function h5p_get_family_offset(fapl_id, offset) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_family_offset, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), fapl_id, offset) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_family_offset (not annotated)") return nothing @@ -3315,11 +3315,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_core`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_CORE). """ function h5p_get_fapl_core(fapl_id, increment, backing_store) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_core, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{hbool_t}), fapl_id, increment, backing_store) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_core (not annotated)") return nothing @@ -3331,11 +3331,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_family`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_FAMILY). """ function h5p_get_fapl_family(fapl_id, memb_size, memb_fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_family, libhdf5), herr_t, (hid_t, Ptr{hsize_t}, Ptr{hid_t}), fapl_id, memb_size, memb_fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_family (not annotated)") return nothing @@ -3347,11 +3347,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_hdfs`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_HDFS). """ function h5p_get_fapl_hdfs(fapl_id, fa_out) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_hdfs, libhdf5), herr_t, (hid_t, Ptr{H5FD_hdfs_fapl_t}), fapl_id, fa_out) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_hdfs (not annotated)") return nothing @@ -3363,11 +3363,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_MPIO32). """ function h5p_get_fapl_mpio32(fapl_id, comm, info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_mpio, libhdf5), herr_t, (hid_t, Ptr{Hmpih32}, Ptr{Hmpih32}), fapl_id, comm, info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting MPIO properties") return nothing @@ -3379,11 +3379,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_MPIO64). """ function h5p_get_fapl_mpio64(fapl_id, comm, info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_mpio, libhdf5), herr_t, (hid_t, Ptr{Hmpih64}, Ptr{Hmpih64}), fapl_id, comm, info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting MPIO properties") return nothing @@ -3395,11 +3395,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_multi`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_MULTI). """ function h5p_get_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_multi, libhdf5), herr_t, (hid_t, Ptr{H5FD_mem_t}, Ptr{hid_t}, Ptr{Ptr{Cchar}}, Ptr{haddr_t}, Ptr{hbool_t}), fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_multi (not annotated)") return nothing @@ -3411,11 +3411,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_splitter`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_SPLITTER). """ function h5p_get_fapl_splitter(fapl_id, config_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_splitter, libhdf5), herr_t, (hid_t, Ptr{H5FD_splitter_vfd_config_t}), fapl_id, config_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_splitter (not annotated)") return nothing @@ -3427,11 +3427,11 @@ end See `libhdf5` documentation for [`H5Pget_fclose_degree`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FCLOSE_DEGREE). """ function h5p_get_fclose_degree(fapl_id, fc_degree) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fclose_degree, libhdf5), herr_t, (hid_t, Ref{Cint}), fapl_id, fc_degree) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting close degree") return nothing @@ -3443,11 +3443,11 @@ end See `libhdf5` documentation for [`H5Pget_file_image`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_IMAGE). """ function h5p_get_file_image(fapl_id, buf_ptr_ptr, buf_len_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_file_image, libhdf5), herr_t, (hid_t, Ptr{Ptr{Cvoid}}, Ptr{Csize_t}), fapl_id, buf_ptr_ptr, buf_len_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_image (not annotated)") return nothing @@ -3459,11 +3459,11 @@ end See `libhdf5` documentation for [`H5Pget_file_image_callbacks`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_IMAGE_CALLBACKS). """ function h5p_get_file_image_callbacks(fapl_id, callbacks_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_file_image_callbacks, libhdf5), herr_t, (hid_t, Ptr{H5FD_file_image_callbacks_t}), fapl_id, callbacks_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_image_callbacks (not annotated)") return nothing @@ -3475,11 +3475,11 @@ end See `libhdf5` documentation for [`H5Pget_file_locking`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_LOCKING). """ function h5p_get_file_locking(fapl_id, use_file_locking, ignore_when_disabled) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_file_locking, libhdf5), herr_t, (hid_t, Ptr{hbool_t}, Ptr{hbool_t}), fapl_id, use_file_locking, ignore_when_disabled) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_locking (not annotated)") return nothing @@ -3491,11 +3491,11 @@ end See `libhdf5` documentation for [`H5Pget_file_space`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_SPACE). """ function h5p_get_file_space(plist_id, strategy, threshold) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_file_space, libhdf5), herr_t, (hid_t, Ptr{H5F_file_space_type_t}, Ptr{hsize_t}), plist_id, strategy, threshold) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_space (not annotated)") return nothing @@ -3507,11 +3507,11 @@ end See `libhdf5` documentation for [`H5Pget_file_space_page_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_SPACE_PAGE_SIZE). """ function h5p_get_file_space_page_size(plist_id, fsp_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_file_space_page_size, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), plist_id, fsp_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_space_page_size (not annotated)") return nothing @@ -3523,11 +3523,11 @@ end See `libhdf5` documentation for [`H5Pget_file_space_strategy`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_SPACE_STRATEGY). """ function h5p_get_file_space_strategy(plist_id, strategy, persist, threshold) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_file_space_strategy, libhdf5), herr_t, (hid_t, Ptr{H5F_fspace_strategy_t}, Ptr{hbool_t}, Ptr{hsize_t}), plist_id, strategy, persist, threshold) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_space_strategy (not annotated)") return nothing @@ -3539,11 +3539,11 @@ end See `libhdf5` documentation for [`H5Pget_fill_time`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILL_TIME). """ function h5p_get_fill_time(plist_id, fill_time) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fill_time, libhdf5), herr_t, (hid_t, Ptr{H5D_fill_time_t}), plist_id, fill_time) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fill_time (not annotated)") return nothing @@ -3555,11 +3555,11 @@ end See `libhdf5` documentation for [`H5Pget_fill_value`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILL_VALUE). """ function h5p_get_fill_value(plist_id, type_id, value) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_fill_value, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), plist_id, type_id, value) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fill_value (not annotated)") return nothing @@ -3571,11 +3571,11 @@ end See `libhdf5` documentation for [`H5Pget_filter2`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILTER2). """ function h5p_get_filter(plist_id, idx, flags, cd_nemlts, cd_values, namelen, name, filter_config) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_filter2, libhdf5), H5Z_filter_t, (hid_t, Cuint, Ptr{Cuint}, Ref{Csize_t}, Ptr{Cuint}, Csize_t, Ptr{Cchar}, Ptr{Cuint}), plist_id, idx, flags, cd_nemlts, cd_values, namelen, name, filter_config) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting filter") return var"#status#" @@ -3587,11 +3587,11 @@ end See `libhdf5` documentation for [`H5Pget_filter_by_id2`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILTER_BY_ID2). """ function h5p_get_filter_by_id(plist_id, filter_id, flags, cd_nelmts, cd_values, namelen, name, filter_config) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_filter_by_id2, libhdf5), herr_t, (hid_t, H5Z_filter_t, Ref{Cuint}, Ref{Csize_t}, Ptr{Cuint}, Csize_t, Ptr{UInt8}, Ptr{Cuint}), plist_id, filter_id, flags, cd_nelmts, cd_values, namelen, name, filter_config) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting filter ID") return nothing @@ -3603,11 +3603,11 @@ end See `libhdf5` documentation for [`H5Pget_gc_references`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_GC_REFERENCES). """ function h5p_get_gc_references(fapl_id, gc_ref) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_gc_references, libhdf5), herr_t, (hid_t, Ptr{Cuint}), fapl_id, gc_ref) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_gc_references (not annotated)") return nothing @@ -3619,11 +3619,11 @@ end See `libhdf5` documentation for [`H5Pget_hyper_vector_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_HYPER_VECTOR_SIZE). """ function h5p_get_hyper_vector_size(fapl_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_hyper_vector_size, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), fapl_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_hyper_vector_size (not annotated)") return nothing @@ -3635,11 +3635,11 @@ end See `libhdf5` documentation for [`H5Pget_istore_k`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ISTORE_K). """ function h5p_get_istore_k(plist_id, ik) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_istore_k, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, ik) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_istore_k (not annotated)") return nothing @@ -3651,11 +3651,11 @@ end See `libhdf5` documentation for [`H5Pget_layout`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LAYOUT). """ function h5p_get_layout(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_layout, libhdf5), Cint, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting layout")) return Int(var"#status#") @@ -3667,11 +3667,11 @@ end See `libhdf5` documentation for [`H5Pget_libver_bounds`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LIBVER_BOUNDS). """ function h5p_get_libver_bounds(fapl_id, low, high) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_libver_bounds, libhdf5), herr_t, (hid_t, Ref{Cint}, Ref{Cint}), fapl_id, low, high) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting library version bounds") return nothing @@ -3683,11 +3683,11 @@ end See `libhdf5` documentation for [`H5Pget_link_creation_order`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LINK_CREATION_ORDER). """ function h5p_get_link_creation_order(plist_id, crt_order_flags) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_link_creation_order, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, crt_order_flags) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting link creation order") return nothing @@ -3699,11 +3699,11 @@ end See `libhdf5` documentation for [`H5Pget_link_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LINK_PHASE_CHANGE). """ function h5p_get_link_phase_change(plist_id, max_compact, min_dense) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_link_phase_change, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, max_compact, min_dense) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_link_phase_change (not annotated)") return nothing @@ -3715,11 +3715,11 @@ end See `libhdf5` documentation for [`H5Pget_local_heap_size_hint`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LOCAL_HEAP_SIZE_HINT). """ function h5p_get_local_heap_size_hint(plist_id, size_hint) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_local_heap_size_hint, libhdf5), herr_t, (hid_t, Ref{Csize_t}), plist_id, size_hint) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting local heap size hint") return nothing @@ -3731,11 +3731,11 @@ end See `libhdf5` documentation for [`H5Pget_mcdt_search_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MCDT_SEARCH_CB). """ function h5p_get_mcdt_search_cb(plist_id, func, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_mcdt_search_cb, libhdf5), herr_t, (hid_t, Ptr{H5O_mcdt_search_cb_t}, Ptr{Ptr{Cvoid}}), plist_id, func, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_mcdt_search_cb (not annotated)") return nothing @@ -3747,11 +3747,11 @@ end See `libhdf5` documentation for [`H5Pget_mdc_config`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MDC_CONFIG). """ function h5p_get_mdc_config(plist_id, config_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_mdc_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_config_t}), plist_id, config_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_mdc_config (not annotated)") return nothing @@ -3763,11 +3763,11 @@ end See `libhdf5` documentation for [`H5Pget_mdc_image_config`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MDC_IMAGE_CONFIG). """ function h5p_get_mdc_image_config(plist_id, config_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_mdc_image_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_image_config_t}), plist_id, config_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_mdc_image_config (not annotated)") return nothing @@ -3779,11 +3779,11 @@ end See `libhdf5` documentation for [`H5Pget_mdc_log_options`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MDC_LOG_OPTIONS). """ function h5p_get_mdc_log_options(plist_id, is_enabled, location, location_size, start_on_access) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_mdc_log_options, libhdf5), herr_t, (hid_t, Ptr{hbool_t}, Ptr{Cchar}, Ptr{Csize_t}, Ptr{hbool_t}), plist_id, is_enabled, location, location_size, start_on_access) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_mdc_log_options (not annotated)") return nothing @@ -3795,11 +3795,11 @@ end See `libhdf5` documentation for [`H5Pget_meta_block_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_META_BLOCK_SIZE). """ function h5p_get_meta_block_size(fapl_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_meta_block_size, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), fapl_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_meta_block_size (not annotated)") return nothing @@ -3811,11 +3811,11 @@ end See `libhdf5` documentation for [`H5Pget_metadata_read_attempts`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_METADATA_READ_ATTEMPTS). """ function h5p_get_metadata_read_attempts(plist_id, attempts) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_metadata_read_attempts, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, attempts) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_metadata_read_attempts (not annotated)") return nothing @@ -3827,11 +3827,11 @@ end See `libhdf5` documentation for [`H5Pget_multi_type`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MULTI_TYPE). """ function h5p_get_multi_type(fapl_id, type) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_multi_type, libhdf5), herr_t, (hid_t, Ptr{H5FD_mem_t}), fapl_id, type) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_multi_type (not annotated)") return nothing @@ -3843,11 +3843,11 @@ end See `libhdf5` documentation for [`H5Pget_nfilters`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_NFILTERS). """ function h5p_get_nfilters(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_nfilters, libhdf5), Cint, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting nfilters") return Int(var"#status#") @@ -3859,11 +3859,11 @@ end See `libhdf5` documentation for [`H5Pget_nlinks`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_NLINKS). """ function h5p_get_nlinks(plist_id, nlinks) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_nlinks, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), plist_id, nlinks) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_nlinks (not annotated)") return nothing @@ -3875,11 +3875,11 @@ end See `libhdf5` documentation for [`H5Pget_nprops`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_NPROPS). """ function h5p_get_nprops(id, nprops) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_nprops, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), id, nprops) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_nprops (not annotated)") return nothing @@ -3891,11 +3891,11 @@ end See `libhdf5` documentation for [`H5Pget_obj_track_times`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_OBJ_TRACK_TIMES). """ function h5p_get_obj_track_times(plist_id, track_times) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_obj_track_times, libhdf5), herr_t, (hid_t, Ref{UInt8}), plist_id, track_times) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object time tracking") return nothing @@ -3907,11 +3907,11 @@ end See `libhdf5` documentation for [`H5Pget_object_flush_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_OBJECT_FLUSH_CB). """ function h5p_get_object_flush_cb(plist_id, func, udata) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_object_flush_cb, libhdf5), herr_t, (hid_t, Ptr{H5F_flush_cb_t}, Ptr{Ptr{Cvoid}}), plist_id, func, udata) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_object_flush_cb (not annotated)") return nothing @@ -3923,11 +3923,11 @@ end See `libhdf5` documentation for [`H5Pget_page_buffer_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_PAGE_BUFFER_SIZE). """ function h5p_get_page_buffer_size(plist_id, buf_size, min_meta_perc, min_raw_perc) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_page_buffer_size, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{Cuint}, Ptr{Cuint}), plist_id, buf_size, min_meta_perc, min_raw_perc) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_page_buffer_size (not annotated)") return nothing @@ -3939,11 +3939,11 @@ end See `libhdf5` documentation for [`H5Pget_preserve`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_PRESERVE). """ function h5p_get_preserve(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_preserve, libhdf5), Cint, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_preserve (not annotated)") return Int(var"#status#") @@ -3955,11 +3955,11 @@ end See `libhdf5` documentation for [`H5Pget_shared_mesg_index`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SHARED_MESG_INDEX). """ function h5p_get_shared_mesg_index(plist_id, index_num, mesg_type_flags, min_mesg_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_shared_mesg_index, libhdf5), herr_t, (hid_t, Cuint, Ptr{Cuint}, Ptr{Cuint}), plist_id, index_num, mesg_type_flags, min_mesg_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_shared_mesg_index (not annotated)") return nothing @@ -3971,11 +3971,11 @@ end See `libhdf5` documentation for [`H5Pget_shared_mesg_nindexes`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SHARED_MESG_NINDEXES). """ function h5p_get_shared_mesg_nindexes(plist_id, nindexes) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_shared_mesg_nindexes, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, nindexes) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_shared_mesg_nindexes (not annotated)") return nothing @@ -3987,11 +3987,11 @@ end See `libhdf5` documentation for [`H5Pget_shared_mesg_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SHARED_MESG_PHASE_CHANGE). """ function h5p_get_shared_mesg_phase_change(plist_id, max_list, min_btree) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_shared_mesg_phase_change, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, max_list, min_btree) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_shared_mesg_phase_change (not annotated)") return nothing @@ -4003,11 +4003,11 @@ end See `libhdf5` documentation for [`H5Pget_sieve_buf_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SIEVE_BUF_SIZE). """ function h5p_get_sieve_buf_size(fapl_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_sieve_buf_size, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), fapl_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_sieve_buf_size (not annotated)") return nothing @@ -4019,11 +4019,11 @@ end See `libhdf5` documentation for [`H5Pget_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SIZE). """ function h5p_get_size(id, name, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_size, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{Csize_t}), id, name, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_size (not annotated)") return nothing @@ -4035,11 +4035,11 @@ end See `libhdf5` documentation for [`H5Pget_sizes`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SIZES). """ function h5p_get_sizes(plist_id, sizeof_addr, sizeof_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_sizes, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{Csize_t}), plist_id, sizeof_addr, sizeof_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_sizes (not annotated)") return nothing @@ -4051,11 +4051,11 @@ end See `libhdf5` documentation for [`H5Pget_small_data_block_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SMALL_DATA_BLOCK_SIZE). """ function h5p_get_small_data_block_size(fapl_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_small_data_block_size, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), fapl_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_small_data_block_size (not annotated)") return nothing @@ -4067,11 +4067,11 @@ end See `libhdf5` documentation for [`H5Pget_sym_k`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SYM_K). """ function h5p_get_sym_k(plist_id, ik, lk) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_sym_k, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, ik, lk) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_sym_k (not annotated)") return nothing @@ -4083,11 +4083,11 @@ end See `libhdf5` documentation for [`H5Pget_type_conv_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_TYPE_CONV_CB). """ function h5p_get_type_conv_cb(dxpl_id, op, operate_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_type_conv_cb, libhdf5), herr_t, (hid_t, Ptr{H5T_conv_except_func_t}, Ptr{Ptr{Cvoid}}), dxpl_id, op, operate_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_type_conv_cb (not annotated)") return nothing @@ -4099,11 +4099,11 @@ end See `libhdf5` documentation for [`H5Pget_userblock`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_USERBLOCK). """ function h5p_get_userblock(plist_id, len) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_userblock, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), plist_id, len) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting userblock") return nothing @@ -4115,11 +4115,11 @@ end See `libhdf5` documentation for [`H5Pget_version`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VERSION). """ function h5p_get_version(plist_id, boot, freelist, stab, shhdr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_version, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}), plist_id, boot, freelist, stab, shhdr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_version (not annotated)") return nothing @@ -4131,11 +4131,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_count`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_COUNT). """ function h5p_get_virtual_count(dcpl_id, count) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_count, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), dcpl_id, count) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_count (not annotated)") return nothing @@ -4147,11 +4147,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_dsetname`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_DSETNAME). """ function h5p_get_virtual_dsetname(dcpl_id, index, name, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_dsetname, libhdf5), Cssize_t, (hid_t, Csize_t, Ptr{Cchar}, Csize_t), dcpl_id, index, name, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_dsetname (not annotated)") return var"#status#" @@ -4163,11 +4163,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_filename`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_FILENAME). """ function h5p_get_virtual_filename(dcpl_id, index, name, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_filename, libhdf5), Cssize_t, (hid_t, Csize_t, Ptr{Cchar}, Csize_t), dcpl_id, index, name, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_filename (not annotated)") return var"#status#" @@ -4179,11 +4179,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_PREFIX). """ function h5p_get_virtual_prefix(dapl_id, prefix, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_prefix, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Csize_t), dapl_id, prefix, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_prefix (not annotated)") return var"#status#" @@ -4195,11 +4195,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_printf_gap`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_PRINTF_GAP). """ function h5p_get_virtual_printf_gap(dapl_id, gap_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_printf_gap, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), dapl_id, gap_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_printf_gap (not annotated)") return nothing @@ -4211,11 +4211,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_srcspace`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_SRCSPACE). """ function h5p_get_virtual_srcspace(dcpl_id, index) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_srcspace, libhdf5), hid_t, (hid_t, Csize_t), dcpl_id, index) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_srcspace (not annotated)") return var"#status#" @@ -4227,11 +4227,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_view`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_VIEW). """ function h5p_get_virtual_view(dapl_id, view) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_view, libhdf5), herr_t, (hid_t, Ptr{H5D_vds_view_t}), dapl_id, view) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_view (not annotated)") return nothing @@ -4243,11 +4243,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_vspace`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_VSPACE). """ function h5p_get_virtual_vspace(dcpl_id, index) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_vspace, libhdf5), hid_t, (hid_t, Csize_t), dcpl_id, index) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_vspace (not annotated)") return var"#status#" @@ -4259,11 +4259,11 @@ end See `libhdf5` documentation for [`H5Pget_vlen_mem_manager`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VLEN_MEM_MANAGER). """ function h5p_get_vlen_mem_manager(plist_id, alloc_func, alloc_info, free_func, free_info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_vlen_mem_manager, libhdf5), herr_t, (hid_t, Ptr{H5MM_allocate_t}, Ptr{Ptr{Cvoid}}, Ptr{H5MM_free_t}, Ptr{Ptr{Cvoid}}), plist_id, alloc_func, alloc_info, free_func, free_info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_vlen_mem_manager (not annotated)") return nothing @@ -4275,11 +4275,11 @@ end See `libhdf5` documentation for [`H5Pget_vol_id`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VOL_ID). """ function h5p_get_vol_id(plist_id, vol_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_vol_id, libhdf5), herr_t, (hid_t, Ptr{hid_t}), plist_id, vol_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_vol_id (not annotated)") return nothing @@ -4291,11 +4291,11 @@ end See `libhdf5` documentation for [`H5Pget_vol_info`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VOL_INFO). """ function h5p_get_vol_info(plist_id, vol_info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pget_vol_info, libhdf5), herr_t, (hid_t, Ptr{Ptr{Cvoid}}), plist_id, vol_info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_vol_info (not annotated)") return nothing @@ -4307,11 +4307,11 @@ end See `libhdf5` documentation for [`H5Pset`](https://portal.hdfgroup.org/display/HDF5/H5P_SET). """ function h5p_set(plist_id, name, value) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{Cvoid}), plist_id, name, value) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set (not annotated)") return nothing @@ -4323,11 +4323,11 @@ end See `libhdf5` documentation for [`H5Pset_alignment`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ALIGNMENT). """ function h5p_set_alignment(plist_id, threshold, alignment) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_alignment, libhdf5), herr_t, (hid_t, hsize_t, hsize_t), plist_id, threshold, alignment) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting alignment") return nothing @@ -4339,11 +4339,11 @@ end See `libhdf5` documentation for [`H5Pset_alloc_time`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ALLOC_TIME). """ function h5p_set_alloc_time(plist_id, alloc_time) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_alloc_time, libhdf5), herr_t, (hid_t, Cint), plist_id, alloc_time) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting allocation timing") return nothing @@ -4355,11 +4355,11 @@ end See `libhdf5` documentation for [`H5Pset_append_flush`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_APPEND_FLUSH). """ function h5p_set_append_flush(dapl_id, ndims, boundary, func, udata) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_append_flush, libhdf5), herr_t, (hid_t, Cuint, Ptr{hsize_t}, H5D_append_cb_t, Ptr{Cvoid}), dapl_id, ndims, boundary, func, udata) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_append_flush (not annotated)") return nothing @@ -4371,11 +4371,11 @@ end See `libhdf5` documentation for [`H5Pset_attr_creation_order`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ATTR_CREATION_ORDER). """ function h5p_set_attr_creation_order(plist_id, crt_order_flags) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_attr_creation_order, libhdf5), herr_t, (hid_t, Cuint), plist_id, crt_order_flags) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting attribute creation order") return nothing @@ -4387,11 +4387,11 @@ end See `libhdf5` documentation for [`H5Pset_attr_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ATTR_PHASE_CHANGE). """ function h5p_set_attr_phase_change(plist_id, max_compact, min_dense) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_attr_phase_change, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, max_compact, min_dense) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_attr_phase_change (not annotated)") return nothing @@ -4403,11 +4403,11 @@ end See `libhdf5` documentation for [`H5Pset_btree_ratios`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_BTREE_RATIOS). """ function h5p_set_btree_ratios(plist_id, left, middle, right) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_btree_ratios, libhdf5), herr_t, (hid_t, Cdouble, Cdouble, Cdouble), plist_id, left, middle, right) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_btree_ratios (not annotated)") return nothing @@ -4419,11 +4419,11 @@ end See `libhdf5` documentation for [`H5Pset_buffer`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_BUFFER). """ function h5p_set_buffer(plist_id, size, tconv, bkg) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_buffer, libhdf5), herr_t, (hid_t, Csize_t, Ptr{Cvoid}, Ptr{Cvoid}), plist_id, size, tconv, bkg) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_buffer (not annotated)") return nothing @@ -4435,11 +4435,11 @@ end See `libhdf5` documentation for [`H5Pset_cache`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CACHE). """ function h5p_set_cache(plist_id, mdc_nelmts, rdcc_nslots, rdcc_nbytes, rdcc_w0) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_cache, libhdf5), herr_t, (hid_t, Cint, Csize_t, Csize_t, Cdouble), plist_id, mdc_nelmts, rdcc_nslots, rdcc_nbytes, rdcc_w0) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_cache (not annotated)") return nothing @@ -4451,11 +4451,11 @@ end See `libhdf5` documentation for [`H5Pset_char_encoding`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHAR_ENCODING). """ function h5p_set_char_encoding(plist_id, encoding) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_char_encoding, libhdf5), herr_t, (hid_t, Cint), plist_id, encoding) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting char encoding") return nothing @@ -4467,11 +4467,11 @@ end See `libhdf5` documentation for [`H5Pset_chunk`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK). """ function h5p_set_chunk(plist_id, ndims, dims) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_chunk, libhdf5), herr_t, (hid_t, Cint, Ptr{hsize_t}), plist_id, ndims, dims) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting chunk size") return nothing @@ -4483,11 +4483,11 @@ end See `libhdf5` documentation for [`H5Pset_chunk_cache`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK_CACHE). """ function h5p_set_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_chunk_cache, libhdf5), herr_t, (hid_t, Csize_t, Csize_t, Cdouble), dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting chunk cache") return nothing @@ -4499,11 +4499,11 @@ end See `libhdf5` documentation for [`H5Pset_chunk_opts`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK_OPTS). """ function h5p_set_chunk_opts(plist_id, opts) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_chunk_opts, libhdf5), herr_t, (hid_t, Cuint), plist_id, opts) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_chunk_opts (not annotated)") return nothing @@ -4515,11 +4515,11 @@ end See `libhdf5` documentation for [`H5Pset_copy_object`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_COPY_OBJECT). """ function h5p_set_copy_object(plist_id, copy_options) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_copy_object, libhdf5), herr_t, (hid_t, Cuint), plist_id, copy_options) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_copy_object (not annotated)") return nothing @@ -4531,11 +4531,11 @@ end See `libhdf5` documentation for [`H5Pset_core_write_tracking`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CORE_WRITE_TRACKING). """ function h5p_set_core_write_tracking(fapl_id, is_enabled, page_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_core_write_tracking, libhdf5), herr_t, (hid_t, hbool_t, Csize_t), fapl_id, is_enabled, page_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_core_write_tracking (not annotated)") return nothing @@ -4547,11 +4547,11 @@ end See `libhdf5` documentation for [`H5Pset_create_intermediate_group`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CREATE_INTERMEDIATE_GROUP). """ function h5p_set_create_intermediate_group(plist_id, setting) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_create_intermediate_group, libhdf5), herr_t, (hid_t, Cuint), plist_id, setting) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting create intermediate group") return nothing @@ -4563,11 +4563,11 @@ end See `libhdf5` documentation for [`H5Pset_data_transform`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DATA_TRANSFORM). """ function h5p_set_data_transform(plist_id, expression) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_data_transform, libhdf5), herr_t, (hid_t, Ptr{Cchar}), plist_id, expression) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_data_transform (not annotated)") return nothing @@ -4579,11 +4579,11 @@ end See `libhdf5` documentation for [`H5Pset_deflate`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DEFLATE). """ function h5p_set_deflate(plist_id, setting) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_deflate, libhdf5), herr_t, (hid_t, Cuint), plist_id, setting) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting compression method and level (deflate)") return nothing @@ -4595,11 +4595,11 @@ end See `libhdf5` documentation for [`H5Pset_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DRIVER). """ function h5p_set_driver(plist_id, driver_id, driver_info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_driver, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), plist_id, driver_id, driver_info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_driver (not annotated)") return nothing @@ -4611,11 +4611,11 @@ end See `libhdf5` documentation for [`H5Pset_dset_no_attrs_hint`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DSET_NO_ATTRS_HINT). """ function h5p_set_dset_no_attrs_hint(dcpl_id, minimize) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_dset_no_attrs_hint, libhdf5), herr_t, (hid_t, hbool_t), dcpl_id, minimize) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in setting dataset no attributes hint property") return nothing @@ -4627,11 +4627,11 @@ end See `libhdf5` documentation for [`H5Pset_dxpl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DXPL_MPIO). """ function h5p_set_dxpl_mpio(dxpl_id, xfer_mode) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_dxpl_mpio, libhdf5), herr_t, (hid_t, Cint), dxpl_id, xfer_mode) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting MPIO transfer mode") return nothing @@ -4643,11 +4643,11 @@ end See `libhdf5` documentation for [`H5Pset_edc_check`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EDC_CHECK). """ function h5p_set_edc_check(plist_id, check) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_edc_check, libhdf5), herr_t, (hid_t, H5Z_EDC_t), plist_id, check) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_edc_check (not annotated)") return nothing @@ -4659,11 +4659,11 @@ end See `libhdf5` documentation for [`H5Pset_efile_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EFILE_PREFIX). """ function h5p_set_efile_prefix(plist_id, prefix) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_efile_prefix, libhdf5), herr_t, (hid_t, Ptr{UInt8}), plist_id, prefix) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting external file prefix") return nothing @@ -4675,11 +4675,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_acc_flags`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_ACC_FLAGS). """ function h5p_set_elink_acc_flags(lapl_id, flags) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_acc_flags, libhdf5), herr_t, (hid_t, Cuint), lapl_id, flags) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_acc_flags (not annotated)") return nothing @@ -4691,11 +4691,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_CB). """ function h5p_set_elink_cb(lapl_id, func, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_cb, libhdf5), herr_t, (hid_t, H5L_elink_traverse_t, Ptr{Cvoid}), lapl_id, func, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_cb (not annotated)") return nothing @@ -4707,11 +4707,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_fapl`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_FAPL). """ function h5p_set_elink_fapl(lapl_id, fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_fapl, libhdf5), herr_t, (hid_t, hid_t), lapl_id, fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_fapl (not annotated)") return nothing @@ -4723,11 +4723,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_file_cache_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_FILE_CACHE_SIZE). """ function h5p_set_elink_file_cache_size(plist_id, efc_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_file_cache_size, libhdf5), herr_t, (hid_t, Cuint), plist_id, efc_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_file_cache_size (not annotated)") return nothing @@ -4739,11 +4739,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_PREFIX). """ function h5p_set_elink_prefix(plist_id, prefix) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_prefix, libhdf5), herr_t, (hid_t, Ptr{Cchar}), plist_id, prefix) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_prefix (not annotated)") return nothing @@ -4755,11 +4755,11 @@ end See `libhdf5` documentation for [`H5Pset_est_link_info`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EST_LINK_INFO). """ function h5p_set_est_link_info(plist_id, est_num_entries, est_name_len) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_est_link_info, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, est_num_entries, est_name_len) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_est_link_info (not annotated)") return nothing @@ -4771,11 +4771,11 @@ end See `libhdf5` documentation for [`H5Pset_evict_on_close`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EVICT_ON_CLOSE). """ function h5p_set_evict_on_close(fapl_id, evict_on_close) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_evict_on_close, libhdf5), herr_t, (hid_t, hbool_t), fapl_id, evict_on_close) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_evict_on_close (not annotated)") return nothing @@ -4787,11 +4787,11 @@ end See `libhdf5` documentation for [`H5Pset_external`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EXTERNAL). """ function h5p_set_external(plist_id, name, offset, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_external, libhdf5), herr_t, (hid_t, Ptr{Cchar}, off_t, hsize_t), plist_id, name, offset, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting external property") return nothing @@ -4803,11 +4803,11 @@ end See `libhdf5` documentation for [`H5Pset_family_offset`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAMILY_OFFSET). """ function h5p_set_family_offset(fapl_id, offset) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_family_offset, libhdf5), herr_t, (hid_t, hsize_t), fapl_id, offset) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_family_offset (not annotated)") return nothing @@ -4819,11 +4819,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_core`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_CORE). """ function h5p_set_fapl_core(fapl_id, increment, backing_store) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_core, libhdf5), herr_t, (hid_t, Csize_t, hbool_t), fapl_id, increment, backing_store) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_core (not annotated)") return nothing @@ -4835,11 +4835,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_family`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_FAMILY). """ function h5p_set_fapl_family(fapl_id, memb_size, memb_fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_family, libhdf5), herr_t, (hid_t, hsize_t, hid_t), fapl_id, memb_size, memb_fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_family (not annotated)") return nothing @@ -4851,11 +4851,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_hdfs`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_HDFS). """ function h5p_set_fapl_hdfs(fapl_id, fa) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_hdfs, libhdf5), herr_t, (hid_t, Ptr{H5FD_hdfs_fapl_t}), fapl_id, fa) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_hdfs (not annotated)") return nothing @@ -4867,11 +4867,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_log`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_LOG). """ function h5p_set_fapl_log(fapl_id, logfile, flags, buf_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_log, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Culonglong, Csize_t), fapl_id, logfile, flags, buf_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_log (not annotated)") return nothing @@ -4883,11 +4883,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_MPIO32). """ function h5p_set_fapl_mpio32(fapl_id, comm, info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_mpio, libhdf5), herr_t, (hid_t, Hmpih32, Hmpih32), fapl_id, comm, info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting MPIO properties") return nothing @@ -4899,11 +4899,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_MPIO64). """ function h5p_set_fapl_mpio64(fapl_id, comm, info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_mpio, libhdf5), herr_t, (hid_t, Hmpih64, Hmpih64), fapl_id, comm, info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting MPIO properties") return nothing @@ -4915,11 +4915,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_multi`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_MULTI). """ function h5p_set_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_multi, libhdf5), herr_t, (hid_t, Ptr{H5FD_mem_t}, Ptr{hid_t}, Ptr{Ptr{Cchar}}, Ptr{haddr_t}, hbool_t), fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_multi (not annotated)") return nothing @@ -4931,11 +4931,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_sec2`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_SEC2). """ function h5p_set_fapl_sec2(fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_sec2, libhdf5), herr_t, (hid_t,), fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting Sec2 properties") return nothing @@ -4947,11 +4947,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_split`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_SPLIT). """ function h5p_set_fapl_split(fapl, meta_ext, meta_plist_id, raw_ext, raw_plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_split, libhdf5), herr_t, (hid_t, Ptr{Cchar}, hid_t, Ptr{Cchar}, hid_t), fapl, meta_ext, meta_plist_id, raw_ext, raw_plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_split (not annotated)") return nothing @@ -4963,11 +4963,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_splitter`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_SPLITTER). """ function h5p_set_fapl_splitter(fapl_id, config_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_splitter, libhdf5), herr_t, (hid_t, Ptr{H5FD_splitter_vfd_config_t}), fapl_id, config_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_splitter (not annotated)") return nothing @@ -4979,11 +4979,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_stdio`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_STDIO). """ function h5p_set_fapl_stdio(fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_stdio, libhdf5), herr_t, (hid_t,), fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_stdio (not annotated)") return nothing @@ -4995,11 +4995,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_windows`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_WINDOWS). """ function h5p_set_fapl_windows(fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_windows, libhdf5), herr_t, (hid_t,), fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_windows (not annotated)") return nothing @@ -5011,11 +5011,11 @@ end See `libhdf5` documentation for [`H5Pset_fclose_degree`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FCLOSE_DEGREE). """ function h5p_set_fclose_degree(plist_id, fc_degree) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fclose_degree, libhdf5), herr_t, (hid_t, Cint), plist_id, fc_degree) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting close degree") return nothing @@ -5027,11 +5027,11 @@ end See `libhdf5` documentation for [`H5Pset_file_image`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_IMAGE). """ function h5p_set_file_image(fapl_id, buf_ptr, buf_len) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_file_image, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, Csize_t), fapl_id, buf_ptr, buf_len) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_image (not annotated)") return nothing @@ -5043,11 +5043,11 @@ end See `libhdf5` documentation for [`H5Pset_file_image_callbacks`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_IMAGE_CALLBACKS). """ function h5p_set_file_image_callbacks(fapl_id, callbacks_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_file_image_callbacks, libhdf5), herr_t, (hid_t, Ptr{H5FD_file_image_callbacks_t}), fapl_id, callbacks_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_image_callbacks (not annotated)") return nothing @@ -5059,11 +5059,11 @@ end See `libhdf5` documentation for [`H5Pset_file_locking`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_LOCKING). """ function h5p_set_file_locking(fapl_id, use_file_locking, ignore_when_disabled) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_file_locking, libhdf5), herr_t, (hid_t, hbool_t, hbool_t), fapl_id, use_file_locking, ignore_when_disabled) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_locking (not annotated)") return nothing @@ -5075,11 +5075,11 @@ end See `libhdf5` documentation for [`H5Pset_file_space`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_SPACE). """ function h5p_set_file_space(plist_id, strategy, threshold) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_file_space, libhdf5), herr_t, (hid_t, H5F_file_space_type_t, hsize_t), plist_id, strategy, threshold) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_space (not annotated)") return nothing @@ -5091,11 +5091,11 @@ end See `libhdf5` documentation for [`H5Pset_file_space_page_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_SPACE_PAGE_SIZE). """ function h5p_set_file_space_page_size(plist_id, fsp_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_file_space_page_size, libhdf5), herr_t, (hid_t, hsize_t), plist_id, fsp_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_space_page_size (not annotated)") return nothing @@ -5107,11 +5107,11 @@ end See `libhdf5` documentation for [`H5Pset_file_space_strategy`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_SPACE_STRATEGY). """ function h5p_set_file_space_strategy(plist_id, strategy, persist, threshold) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_file_space_strategy, libhdf5), herr_t, (hid_t, H5F_fspace_strategy_t, hbool_t, hsize_t), plist_id, strategy, persist, threshold) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_space_strategy (not annotated)") return nothing @@ -5123,11 +5123,11 @@ end See `libhdf5` documentation for [`H5Pset_fill_time`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILL_TIME). """ function h5p_set_fill_time(plist_id, fill_time) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fill_time, libhdf5), herr_t, (hid_t, H5D_fill_time_t), plist_id, fill_time) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fill_time (not annotated)") return nothing @@ -5139,11 +5139,11 @@ end See `libhdf5` documentation for [`H5Pset_fill_value`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILL_VALUE). """ function h5p_set_fill_value(plist_id, type_id, value) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fill_value, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), plist_id, type_id, value) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fill_value (not annotated)") return nothing @@ -5155,11 +5155,11 @@ end See `libhdf5` documentation for [`H5Pset_filter`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILTER). """ function h5p_set_filter(plist_id, filter_id, flags, cd_nelmts, cd_values) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_filter, libhdf5), herr_t, (hid_t, H5Z_filter_t, Cuint, Csize_t, Ptr{Cuint}), plist_id, filter_id, flags, cd_nelmts, cd_values) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting filter") return nothing @@ -5171,11 +5171,11 @@ end See `libhdf5` documentation for [`H5Pset_filter_callback`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILTER_CALLBACK). """ function h5p_set_filter_callback(plist_id, func, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_filter_callback, libhdf5), herr_t, (hid_t, H5Z_filter_func_t, Ptr{Cvoid}), plist_id, func, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_filter_callback (not annotated)") return nothing @@ -5187,11 +5187,11 @@ end See `libhdf5` documentation for [`H5Pset_fletcher32`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FLETCHER32). """ function h5p_set_fletcher32(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_fletcher32, libhdf5), herr_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling Fletcher32 filter") return nothing @@ -5203,11 +5203,11 @@ end See `libhdf5` documentation for [`H5Pset_gc_references`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_GC_REFERENCES). """ function h5p_set_gc_references(fapl_id, gc_ref) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_gc_references, libhdf5), herr_t, (hid_t, Cuint), fapl_id, gc_ref) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_gc_references (not annotated)") return nothing @@ -5219,11 +5219,11 @@ end See `libhdf5` documentation for [`H5Pset_hyper_vector_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_HYPER_VECTOR_SIZE). """ function h5p_set_hyper_vector_size(plist_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_hyper_vector_size, libhdf5), herr_t, (hid_t, Csize_t), plist_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_hyper_vector_size (not annotated)") return nothing @@ -5235,11 +5235,11 @@ end See `libhdf5` documentation for [`H5Pset_istore_k`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ISTORE_K). """ function h5p_set_istore_k(plist_id, ik) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_istore_k, libhdf5), herr_t, (hid_t, Cuint), plist_id, ik) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_istore_k (not annotated)") return nothing @@ -5251,11 +5251,11 @@ end See `libhdf5` documentation for [`H5Pset_layout`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LAYOUT). """ function h5p_set_layout(plist_id, setting) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_layout, libhdf5), herr_t, (hid_t, Cint), plist_id, setting) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting layout") return nothing @@ -5267,11 +5267,11 @@ end See `libhdf5` documentation for [`H5Pset_libver_bounds`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LIBVER_BOUNDS). """ function h5p_set_libver_bounds(fapl_id, low, high) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_libver_bounds, libhdf5), herr_t, (hid_t, Cint, Cint), fapl_id, low, high) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting library version bounds") return nothing @@ -5283,11 +5283,11 @@ end See `libhdf5` documentation for [`H5Pset_link_creation_order`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LINK_CREATION_ORDER). """ function h5p_set_link_creation_order(plist_id, crt_order_flags) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_link_creation_order, libhdf5), herr_t, (hid_t, Cuint), plist_id, crt_order_flags) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting link creation order") return nothing @@ -5299,11 +5299,11 @@ end See `libhdf5` documentation for [`H5Pset_link_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LINK_PHASE_CHANGE). """ function h5p_set_link_phase_change(plist_id, max_compact, min_dense) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_link_phase_change, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, max_compact, min_dense) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_link_phase_change (not annotated)") return nothing @@ -5315,11 +5315,11 @@ end See `libhdf5` documentation for [`H5Pset_local_heap_size_hint`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LOCAL_HEAP_SIZE_HINT). """ function h5p_set_local_heap_size_hint(plist_id, size_hint) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_local_heap_size_hint, libhdf5), herr_t, (hid_t, Csize_t), plist_id, size_hint) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting local heap size hint") return nothing @@ -5331,11 +5331,11 @@ end See `libhdf5` documentation for [`H5Pset_mcdt_search_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MCDT_SEARCH_CB). """ function h5p_set_mcdt_search_cb(plist_id, func, op_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_mcdt_search_cb, libhdf5), herr_t, (hid_t, H5O_mcdt_search_cb_t, Ptr{Cvoid}), plist_id, func, op_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_mcdt_search_cb (not annotated)") return nothing @@ -5347,11 +5347,11 @@ end See `libhdf5` documentation for [`H5Pset_mdc_config`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MDC_CONFIG). """ function h5p_set_mdc_config(plist_id, config_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_mdc_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_config_t}), plist_id, config_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_mdc_config (not annotated)") return nothing @@ -5363,11 +5363,11 @@ end See `libhdf5` documentation for [`H5Pset_mdc_image_config`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MDC_IMAGE_CONFIG). """ function h5p_set_mdc_image_config(plist_id, config_ptr) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_mdc_image_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_image_config_t}), plist_id, config_ptr) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_mdc_image_config (not annotated)") return nothing @@ -5379,11 +5379,11 @@ end See `libhdf5` documentation for [`H5Pset_mdc_log_options`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MDC_LOG_OPTIONS). """ function h5p_set_mdc_log_options(plist_id, is_enabled, location, start_on_access) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_mdc_log_options, libhdf5), herr_t, (hid_t, hbool_t, Ptr{Cchar}, hbool_t), plist_id, is_enabled, location, start_on_access) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_mdc_log_options (not annotated)") return nothing @@ -5395,11 +5395,11 @@ end See `libhdf5` documentation for [`H5Pset_meta_block_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_META_BLOCK_SIZE). """ function h5p_set_meta_block_size(fapl_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_meta_block_size, libhdf5), herr_t, (hid_t, hsize_t), fapl_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_meta_block_size (not annotated)") return nothing @@ -5411,11 +5411,11 @@ end See `libhdf5` documentation for [`H5Pset_metadata_read_attempts`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_METADATA_READ_ATTEMPTS). """ function h5p_set_metadata_read_attempts(plist_id, attempts) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_metadata_read_attempts, libhdf5), herr_t, (hid_t, Cuint), plist_id, attempts) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_metadata_read_attempts (not annotated)") return nothing @@ -5427,11 +5427,11 @@ end See `libhdf5` documentation for [`H5Pset_multi_type`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MULTI_TYPE). """ function h5p_set_multi_type(fapl_id, type) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_multi_type, libhdf5), herr_t, (hid_t, H5FD_mem_t), fapl_id, type) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_multi_type (not annotated)") return nothing @@ -5443,11 +5443,11 @@ end See `libhdf5` documentation for [`H5Pset_nbit`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_NBIT). """ function h5p_set_nbit(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_nbit, libhdf5), herr_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling nbit filter") return nothing @@ -5459,11 +5459,11 @@ end See `libhdf5` documentation for [`H5Pset_nlinks`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_NLINKS). """ function h5p_set_nlinks(plist_id, nlinks) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_nlinks, libhdf5), herr_t, (hid_t, Csize_t), plist_id, nlinks) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_nlinks (not annotated)") return nothing @@ -5475,11 +5475,11 @@ end See `libhdf5` documentation for [`H5Pset_obj_track_times`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_OBJ_TRACK_TIMES). """ function h5p_set_obj_track_times(plist_id, track_times) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_obj_track_times, libhdf5), herr_t, (hid_t, UInt8), plist_id, track_times) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting object time tracking") return nothing @@ -5491,11 +5491,11 @@ end See `libhdf5` documentation for [`H5Pset_object_flush_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_OBJECT_FLUSH_CB). """ function h5p_set_object_flush_cb(plist_id, func, udata) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_object_flush_cb, libhdf5), herr_t, (hid_t, H5F_flush_cb_t, Ptr{Cvoid}), plist_id, func, udata) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_object_flush_cb (not annotated)") return nothing @@ -5507,11 +5507,11 @@ end See `libhdf5` documentation for [`H5Pset_page_buffer_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_PAGE_BUFFER_SIZE). """ function h5p_set_page_buffer_size(plist_id, buf_size, min_meta_per, min_raw_per) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_page_buffer_size, libhdf5), herr_t, (hid_t, Csize_t, Cuint, Cuint), plist_id, buf_size, min_meta_per, min_raw_per) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_page_buffer_size (not annotated)") return nothing @@ -5523,11 +5523,11 @@ end See `libhdf5` documentation for [`H5Pset_preserve`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_PRESERVE). """ function h5p_set_preserve(plist_id, status) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_preserve, libhdf5), herr_t, (hid_t, hbool_t), plist_id, status) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_preserve (not annotated)") return nothing @@ -5539,11 +5539,11 @@ end See `libhdf5` documentation for [`H5Pset_scaleoffset`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SCALEOFFSET). """ function h5p_set_scaleoffset(plist_id, scale_type, scale_factor) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_scaleoffset, libhdf5), herr_t, (hid_t, Cint, Cint), plist_id, scale_type, scale_factor) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling szip filter") return nothing @@ -5555,11 +5555,11 @@ end See `libhdf5` documentation for [`H5Pset_shared_mesg_index`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SHARED_MESG_INDEX). """ function h5p_set_shared_mesg_index(plist_id, index_num, mesg_type_flags, min_mesg_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_shared_mesg_index, libhdf5), herr_t, (hid_t, Cuint, Cuint, Cuint), plist_id, index_num, mesg_type_flags, min_mesg_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_shared_mesg_index (not annotated)") return nothing @@ -5571,11 +5571,11 @@ end See `libhdf5` documentation for [`H5Pset_shared_mesg_nindexes`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SHARED_MESG_NINDEXES). """ function h5p_set_shared_mesg_nindexes(plist_id, nindexes) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_shared_mesg_nindexes, libhdf5), herr_t, (hid_t, Cuint), plist_id, nindexes) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_shared_mesg_nindexes (not annotated)") return nothing @@ -5587,11 +5587,11 @@ end See `libhdf5` documentation for [`H5Pset_shared_mesg_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SHARED_MESG_PHASE_CHANGE). """ function h5p_set_shared_mesg_phase_change(plist_id, max_list, min_btree) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_shared_mesg_phase_change, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, max_list, min_btree) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_shared_mesg_phase_change (not annotated)") return nothing @@ -5603,11 +5603,11 @@ end See `libhdf5` documentation for [`H5Pset_shuffle`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SHUFFLE). """ function h5p_set_shuffle(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_shuffle, libhdf5), herr_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling shuffle filter") return nothing @@ -5619,11 +5619,11 @@ end See `libhdf5` documentation for [`H5Pset_sieve_buf_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SIEVE_BUF_SIZE). """ function h5p_set_sieve_buf_size(fapl_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_sieve_buf_size, libhdf5), herr_t, (hid_t, Csize_t), fapl_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_sieve_buf_size (not annotated)") return nothing @@ -5635,11 +5635,11 @@ end See `libhdf5` documentation for [`H5Pset_sizes`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SIZES). """ function h5p_set_sizes(plist_id, sizeof_addr, sizeof_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_sizes, libhdf5), herr_t, (hid_t, Csize_t, Csize_t), plist_id, sizeof_addr, sizeof_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_sizes (not annotated)") return nothing @@ -5651,11 +5651,11 @@ end See `libhdf5` documentation for [`H5Pset_small_data_block_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SMALL_DATA_BLOCK_SIZE). """ function h5p_set_small_data_block_size(fapl_id, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_small_data_block_size, libhdf5), herr_t, (hid_t, hsize_t), fapl_id, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_small_data_block_size (not annotated)") return nothing @@ -5667,11 +5667,11 @@ end See `libhdf5` documentation for [`H5Pset_sym_k`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SYM_K). """ function h5p_set_sym_k(plist_id, ik, lk) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_sym_k, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, ik, lk) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_sym_k (not annotated)") return nothing @@ -5683,11 +5683,11 @@ end See `libhdf5` documentation for [`H5Pset_szip`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SZIP). """ function h5p_set_szip(plist_id, options_mask, pixels_per_block) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_szip, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, options_mask, pixels_per_block) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling szip filter") return nothing @@ -5699,11 +5699,11 @@ end See `libhdf5` documentation for [`H5Pset_type_conv_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_TYPE_CONV_CB). """ function h5p_set_type_conv_cb(dxpl_id, op, operate_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_type_conv_cb, libhdf5), herr_t, (hid_t, H5T_conv_except_func_t, Ptr{Cvoid}), dxpl_id, op, operate_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_type_conv_cb (not annotated)") return nothing @@ -5715,11 +5715,11 @@ end See `libhdf5` documentation for [`H5Pset_userblock`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_USERBLOCK). """ function h5p_set_userblock(plist_id, len) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_userblock, libhdf5), herr_t, (hid_t, hsize_t), plist_id, len) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting userblock") return nothing @@ -5731,11 +5731,11 @@ end See `libhdf5` documentation for [`H5Pset_virtual`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL). """ function h5p_set_virtual(dcpl_id, vspace_id, src_file_name, src_dset_name, src_space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_virtual, libhdf5), herr_t, (hid_t, hid_t, Ptr{UInt8}, Ptr{UInt8}, hid_t), dcpl_id, vspace_id, src_file_name, src_dset_name, src_space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting virtual") return nothing @@ -5747,11 +5747,11 @@ end See `libhdf5` documentation for [`H5Pset_virtual_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL_PREFIX). """ function h5p_set_virtual_prefix(dapl_id, prefix) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_virtual_prefix, libhdf5), herr_t, (hid_t, Ptr{Cchar}), dapl_id, prefix) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_virtual_prefix (not annotated)") return nothing @@ -5763,11 +5763,11 @@ end See `libhdf5` documentation for [`H5Pset_virtual_printf_gap`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL_PRINTF_GAP). """ function h5p_set_virtual_printf_gap(dapl_id, gap_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_virtual_printf_gap, libhdf5), herr_t, (hid_t, hsize_t), dapl_id, gap_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_virtual_printf_gap (not annotated)") return nothing @@ -5779,11 +5779,11 @@ end See `libhdf5` documentation for [`H5Pset_virtual_view`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL_VIEW). """ function h5p_set_virtual_view(dapl_id, view) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_virtual_view, libhdf5), herr_t, (hid_t, H5D_vds_view_t), dapl_id, view) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_virtual_view (not annotated)") return nothing @@ -5795,11 +5795,11 @@ end See `libhdf5` documentation for [`H5Pset_vlen_mem_manager`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VLEN_MEM_MANAGER). """ function h5p_set_vlen_mem_manager(plist_id, alloc_func, alloc_info, free_func, free_info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_vlen_mem_manager, libhdf5), herr_t, (hid_t, H5MM_allocate_t, Ptr{Cvoid}, H5MM_free_t, Ptr{Cvoid}), plist_id, alloc_func, alloc_info, free_func, free_info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_vlen_mem_manager (not annotated)") return nothing @@ -5811,11 +5811,11 @@ end See `libhdf5` documentation for [`H5Pset_vol`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VOL). """ function h5p_set_vol(plist_id, new_vol_id, new_vol_info) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pset_vol, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), plist_id, new_vol_id, new_vol_info) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_vol (not annotated)") return nothing @@ -5827,11 +5827,11 @@ end See `libhdf5` documentation for [`H5Padd_merge_committed_dtype_path`](https://portal.hdfgroup.org/display/HDF5/H5P_ADD_MERGE_COMMITTED_DTYPE_PATH). """ function h5p_add_merge_committed_dtype_path(plist_id, path) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Padd_merge_committed_dtype_path, libhdf5), herr_t, (hid_t, Ptr{Cchar}), plist_id, path) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_add_merge_committed_dtype_path (not annotated)") return nothing @@ -5843,11 +5843,11 @@ end See `libhdf5` documentation for [`H5Pall_filters_avail`](https://portal.hdfgroup.org/display/HDF5/H5P_ALL_FILTERS_AVAIL). """ function h5p_all_filters_avail(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pall_filters_avail, libhdf5), htri_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_all_filters_avail (not annotated)") return var"#status#" > 0 @@ -5859,11 +5859,11 @@ end See `libhdf5` documentation for [`H5Pclose`](https://portal.hdfgroup.org/display/HDF5/H5P_CLOSE). """ function h5p_close(id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pclose, libhdf5), herr_t, (hid_t,), id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing property list") return nothing @@ -5875,11 +5875,11 @@ end See `libhdf5` documentation for [`H5Pclose_class`](https://portal.hdfgroup.org/display/HDF5/H5P_CLOSE_CLASS). """ function h5p_close_class(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pclose_class, libhdf5), herr_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_close_class (not annotated)") return nothing @@ -5891,11 +5891,11 @@ end See `libhdf5` documentation for [`H5Pcopy`](https://portal.hdfgroup.org/display/HDF5/H5P_COPY). """ function h5p_copy(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pcopy, libhdf5), hid_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_copy (not annotated)") return var"#status#" @@ -5907,11 +5907,11 @@ end See `libhdf5` documentation for [`H5Pcopy_prop`](https://portal.hdfgroup.org/display/HDF5/H5P_COPY_PROP). """ function h5p_copy_prop(dst_id, src_id, name) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pcopy_prop, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cchar}), dst_id, src_id, name) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_copy_prop (not annotated)") return nothing @@ -5923,11 +5923,11 @@ end See `libhdf5` documentation for [`H5Pcreate`](https://portal.hdfgroup.org/display/HDF5/H5P_CREATE). """ function h5p_create(cls_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pcreate, libhdf5), hid_t, (hid_t,), cls_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating property list") return var"#status#" @@ -5939,11 +5939,11 @@ end See `libhdf5` documentation for [`H5Pcreate_class`](https://portal.hdfgroup.org/display/HDF5/H5P_CREATE_CLASS). """ function h5p_create_class(parent, name, create, create_data, copy, copy_data, close, close_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pcreate_class, libhdf5), hid_t, (hid_t, Ptr{Cchar}, H5P_cls_create_func_t, Ptr{Cvoid}, H5P_cls_copy_func_t, Ptr{Cvoid}, H5P_cls_close_func_t, Ptr{Cvoid}), parent, name, create, create_data, copy, copy_data, close, close_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_create_class (not annotated)") return var"#status#" @@ -5955,11 +5955,11 @@ end See `libhdf5` documentation for [`H5Pdecode`](https://portal.hdfgroup.org/display/HDF5/H5P_DECODE). """ function h5p_decode(buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pdecode, libhdf5), hid_t, (Ptr{Cvoid},), buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_decode (not annotated)") return var"#status#" @@ -5971,11 +5971,11 @@ end See `libhdf5` documentation for [`H5Pencode1`](https://portal.hdfgroup.org/display/HDF5/H5P_ENCODE1). """ function h5p_encode(plist_id, buf, nalloc) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pencode1, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, Ptr{Csize_t}), plist_id, buf, nalloc) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_encode1 (not annotated)") return nothing @@ -5987,11 +5987,11 @@ end See `libhdf5` documentation for [`H5Pencode2`](https://portal.hdfgroup.org/display/HDF5/H5P_ENCODE2). """ function h5p_encode(plist_id, buf, nalloc, fapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pencode2, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, Ptr{Csize_t}, hid_t), plist_id, buf, nalloc, fapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_encode2 (not annotated)") return nothing @@ -6003,11 +6003,11 @@ end See `libhdf5` documentation for [`H5Pequal`](https://portal.hdfgroup.org/display/HDF5/H5P_EQUAL). """ function h5p_equal(id1, id2) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pequal, libhdf5), htri_t, (hid_t, hid_t), id1, id2) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_equal (not annotated)") return var"#status#" > 0 @@ -6019,11 +6019,11 @@ end See `libhdf5` documentation for [`H5Pexist`](https://portal.hdfgroup.org/display/HDF5/H5P_EXIST). """ function h5p_exist(plist_id, name) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pexist, libhdf5), htri_t, (hid_t, Ptr{Cchar}), plist_id, name) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_exist (not annotated)") return var"#status#" > 0 @@ -6035,11 +6035,11 @@ end See `libhdf5` documentation for [`H5Pfill_value_defined`](https://portal.hdfgroup.org/display/HDF5/H5P_FILL_VALUE_DEFINED). """ function h5p_fill_value_defined(plist, status) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pfill_value_defined, libhdf5), herr_t, (hid_t, Ptr{H5D_fill_value_t}), plist, status) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_fill_value_defined (not annotated)") return nothing @@ -6051,11 +6051,11 @@ end See `libhdf5` documentation for [`H5Pfree_merge_committed_dtype_paths`](https://portal.hdfgroup.org/display/HDF5/H5P_FREE_MERGE_COMMITTED_DTYPE_PATHS). """ function h5p_free_merge_committed_dtype_paths(plist_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pfree_merge_committed_dtype_paths, libhdf5), herr_t, (hid_t,), plist_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_free_merge_committed_dtype_paths (not annotated)") return nothing @@ -6067,11 +6067,11 @@ end See `libhdf5` documentation for [`H5Pinsert1`](https://portal.hdfgroup.org/display/HDF5/H5P_INSERT1). """ function h5p_insert(plist_id, name, size, value, prp_set, prp_get, prp_delete, prp_copy, prp_close) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pinsert1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Csize_t, Ptr{Cvoid}, H5P_prp_set_func_t, H5P_prp_get_func_t, H5P_prp_delete_func_t, H5P_prp_copy_func_t, H5P_prp_close_func_t), plist_id, name, size, value, prp_set, prp_get, prp_delete, prp_copy, prp_close) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_insert1 (not annotated)") return nothing @@ -6083,11 +6083,11 @@ end See `libhdf5` documentation for [`H5Pinsert2`](https://portal.hdfgroup.org/display/HDF5/H5P_INSERT2). """ function h5p_insert(plist_id, name, size, value, set, get, prp_del, copy, compare, close) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pinsert2, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Csize_t, Ptr{Cvoid}, H5P_prp_set_func_t, H5P_prp_get_func_t, H5P_prp_delete_func_t, H5P_prp_copy_func_t, H5P_prp_compare_func_t, H5P_prp_close_func_t), plist_id, name, size, value, set, get, prp_del, copy, compare, close) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_insert2 (not annotated)") return nothing @@ -6099,11 +6099,11 @@ end See `libhdf5` documentation for [`H5Pisa_class`](https://portal.hdfgroup.org/display/HDF5/H5P_ISA_CLASS). """ function h5p_isa_class(plist_id, pclass_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pisa_class, libhdf5), htri_t, (hid_t, hid_t), plist_id, pclass_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_isa_class (not annotated)") return var"#status#" > 0 @@ -6115,11 +6115,11 @@ end See `libhdf5` documentation for [`H5Piterate`](https://portal.hdfgroup.org/display/HDF5/H5P_ITERATE). """ function h5p_iterate(id, idx, iter_func, iter_data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Piterate, libhdf5), Cint, (hid_t, Ptr{Cint}, H5P_iterate_t, Ptr{Cvoid}), id, idx, iter_func, iter_data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_iterate (not annotated)") return Int(var"#status#") @@ -6131,11 +6131,11 @@ end See `libhdf5` documentation for [`H5Pmodify_filter`](https://portal.hdfgroup.org/display/HDF5/H5P_MODIFY_FILTER). """ function h5p_modify_filter(plist_id, filter_id, flags, cd_nelmts, cd_values) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pmodify_filter, libhdf5), herr_t, (hid_t, H5Z_filter_t, Cuint, Csize_t, Ptr{Cuint}), plist_id, filter_id, flags, cd_nelmts, cd_values) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error modifying filter") return nothing @@ -6147,11 +6147,11 @@ end See `libhdf5` documentation for [`H5Pregister1`](https://portal.hdfgroup.org/display/HDF5/H5P_REGISTER1). """ function h5p_register(cls_id, name, size, def_value, prp_create, prp_set, prp_get, prp_del, prp_copy, prp_close) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pregister1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Csize_t, Ptr{Cvoid}, H5P_prp_create_func_t, H5P_prp_set_func_t, H5P_prp_get_func_t, H5P_prp_delete_func_t, H5P_prp_copy_func_t, H5P_prp_close_func_t), cls_id, name, size, def_value, prp_create, prp_set, prp_get, prp_del, prp_copy, prp_close) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_register1 (not annotated)") return nothing @@ -6163,11 +6163,11 @@ end See `libhdf5` documentation for [`H5Pregister2`](https://portal.hdfgroup.org/display/HDF5/H5P_REGISTER2). """ function h5p_register(cls_id, name, size, def_value, create, set, get, prp_del, copy, compare, close) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Pregister2, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Csize_t, Ptr{Cvoid}, H5P_prp_create_func_t, H5P_prp_set_func_t, H5P_prp_get_func_t, H5P_prp_delete_func_t, H5P_prp_copy_func_t, H5P_prp_compare_func_t, H5P_prp_close_func_t), cls_id, name, size, def_value, create, set, get, prp_del, copy, compare, close) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_register2 (not annotated)") return nothing @@ -6179,11 +6179,11 @@ end See `libhdf5` documentation for [`H5Premove`](https://portal.hdfgroup.org/display/HDF5/H5P_REMOVE). """ function h5p_remove(plist_id, name) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Premove, libhdf5), herr_t, (hid_t, Ptr{Cchar}), plist_id, name) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_remove (not annotated)") return nothing @@ -6195,11 +6195,11 @@ end See `libhdf5` documentation for [`H5Premove_filter`](https://portal.hdfgroup.org/display/HDF5/H5P_REMOVE_FILTER). """ function h5p_remove_filter(plist_id, filter_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Premove_filter, libhdf5), herr_t, (hid_t, H5Z_filter_t), plist_id, filter_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error removing filter") return nothing @@ -6211,11 +6211,11 @@ end See `libhdf5` documentation for [`H5Punregister`](https://portal.hdfgroup.org/display/HDF5/H5P_UNREGISTER). """ function h5p_unregister(pclass_id, name) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Punregister, libhdf5), herr_t, (hid_t, Ptr{Cchar}), pclass_id, name) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_unregister (not annotated)") return nothing @@ -6227,11 +6227,11 @@ end See `libhdf5` documentation for [`H5PLset_loading_state`](https://portal.hdfgroup.org/display/HDF5/H5PL_SET_LOADING_STATE). """ function h5pl_set_loading_state(plugin_control_mask) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5PLset_loading_state, libhdf5), herr_t, (Cuint,), plugin_control_mask) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting plugin loading state") return nothing @@ -6243,11 +6243,11 @@ end See `libhdf5` documentation for [`H5PLget_loading_state`](https://portal.hdfgroup.org/display/HDF5/H5PL_GET_LOADING_STATE). """ function h5pl_get_loading_state(plugin_control_mask) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5PLget_loading_state, libhdf5), herr_t, (Ptr{Cuint},), plugin_control_mask) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting plugin loading state") return nothing @@ -6259,11 +6259,11 @@ end See `libhdf5` documentation for [`H5PLappend`](https://portal.hdfgroup.org/display/HDF5/H5PL_APPEND). """ function h5pl_append(search_path) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5PLappend, libhdf5), herr_t, (Ptr{Cchar},), search_path) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error appending plugin path") return nothing @@ -6275,11 +6275,11 @@ end See `libhdf5` documentation for [`H5PLprepend`](https://portal.hdfgroup.org/display/HDF5/H5PL_PREPEND). """ function h5pl_prepend(search_path) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5PLprepend, libhdf5), herr_t, (Ptr{Cchar},), search_path) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error prepending plugin path") return nothing @@ -6291,11 +6291,11 @@ end See `libhdf5` documentation for [`H5PLreplace`](https://portal.hdfgroup.org/display/HDF5/H5PL_REPLACE). """ function h5pl_replace(search_path, index) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5PLreplace, libhdf5), herr_t, (Ptr{Cchar}, Cuint), search_path, index) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error replacing plugin path") return nothing @@ -6307,11 +6307,11 @@ end See `libhdf5` documentation for [`H5PLinsert`](https://portal.hdfgroup.org/display/HDF5/H5PL_INSERT). """ function h5pl_insert(search_path, index) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5PLinsert, libhdf5), herr_t, (Ptr{Cchar}, Cuint), search_path, index) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error inserting plugin path") return nothing @@ -6323,11 +6323,11 @@ end See `libhdf5` documentation for [`H5PLremove`](https://portal.hdfgroup.org/display/HDF5/H5PL_REMOVE). """ function h5pl_remove(index) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5PLremove, libhdf5), herr_t, (Cuint,), index) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error removing plugin path") return nothing @@ -6339,11 +6339,11 @@ end See `libhdf5` documentation for [`H5PLget`](https://portal.hdfgroup.org/display/HDF5/H5PL_GET). """ function h5pl_get(index, path_buf, buf_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5PLget, libhdf5), Cssize_t, (Cuint, Ptr{Cchar}, Csize_t), index, path_buf, buf_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting plugin path") return var"#status#" @@ -6355,11 +6355,11 @@ end See `libhdf5` documentation for [`H5PLsize`](https://portal.hdfgroup.org/display/HDF5/H5PL_SIZE). """ function h5pl_size(num_paths) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5PLsize, libhdf5), herr_t, (Ptr{Cuint},), num_paths) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error in getting number of plugins paths") return nothing @@ -6371,11 +6371,11 @@ end See `libhdf5` documentation for [`H5Rcreate`](https://portal.hdfgroup.org/display/HDF5/H5R_CREATE). """ function h5r_create(ref, loc_id, pathname, ref_type, space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Rcreate, libhdf5), herr_t, (Ptr{Cvoid}, hid_t, Ptr{UInt8}, Cint, hid_t), ref, loc_id, pathname, ref_type, space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating reference to object ", h5i_get_name(loc_id), "/", pathname)) return nothing @@ -6387,11 +6387,11 @@ end See `libhdf5` documentation for [`H5Rdereference2`](https://portal.hdfgroup.org/display/HDF5/H5R_DEREFERENCE2). """ function h5r_dereference(obj_id, oapl_id, ref_type, ref) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Rdereference2, libhdf5), hid_t, (hid_t, hid_t, Cint, Ptr{Cvoid}), obj_id, oapl_id, ref_type, ref) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error dereferencing object") return var"#status#" @@ -6403,11 +6403,11 @@ end See `libhdf5` documentation for [`H5Rget_obj_type2`](https://portal.hdfgroup.org/display/HDF5/H5R_GET_OBJ_TYPE2). """ function h5r_get_obj_type(loc_id, ref_type, ref, obj_type) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Rget_obj_type2, libhdf5), herr_t, (hid_t, Cint, Ptr{Cvoid}, Ptr{Cint}), loc_id, ref_type, ref, obj_type) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object type") return nothing @@ -6419,11 +6419,11 @@ end See `libhdf5` documentation for [`H5Rget_region`](https://portal.hdfgroup.org/display/HDF5/H5R_GET_REGION). """ function h5r_get_region(loc_id, ref_type, ref) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Rget_region, libhdf5), hid_t, (hid_t, Cint, Ptr{Cvoid}), loc_id, ref_type, ref) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting region from reference") return var"#status#" @@ -6435,11 +6435,11 @@ end See `libhdf5` documentation for [`H5Sclose`](https://portal.hdfgroup.org/display/HDF5/H5S_CLOSE). """ function h5s_close(space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sclose, libhdf5), herr_t, (hid_t,), space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing dataspace") return nothing @@ -6452,11 +6452,11 @@ end See `libhdf5` documentation for [`H5Scombine_select`](https://portal.hdfgroup.org/display/HDF5/H5S_COMBINE_SELECT). """ function h5s_combine_select(space1_id, op, space2_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Scombine_select, libhdf5), hid_t, (hid_t, Cint, hid_t), space1_id, op, space2_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error combining dataspaces") return var"#status#" @@ -6469,11 +6469,11 @@ end See `libhdf5` documentation for [`H5Scopy`](https://portal.hdfgroup.org/display/HDF5/H5S_COPY). """ function h5s_copy(space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Scopy, libhdf5), hid_t, (hid_t,), space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error copying dataspace") return var"#status#" @@ -6485,11 +6485,11 @@ end See `libhdf5` documentation for [`H5Screate`](https://portal.hdfgroup.org/display/HDF5/H5S_CREATE). """ function h5s_create(class) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Screate, libhdf5), hid_t, (Cint,), class) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating dataspace") return var"#status#" @@ -6501,11 +6501,11 @@ end See `libhdf5` documentation for [`H5Screate_simple`](https://portal.hdfgroup.org/display/HDF5/H5S_CREATE_SIMPLE). """ function h5s_create_simple(rank, current_dims, maximum_dims) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Screate_simple, libhdf5), hid_t, (Cint, Ptr{hsize_t}, Ptr{hsize_t}), rank, current_dims, maximum_dims) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating simple dataspace") return var"#status#" @@ -6517,11 +6517,11 @@ end See `libhdf5` documentation for [`H5Sextent_equal`](https://portal.hdfgroup.org/display/HDF5/H5S_EXTENT_EQUAL). """ function h5s_extent_equal(space1_id, space2_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sextent_equal, libhdf5), htri_t, (hid_t, hid_t), space1_id, space2_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error comparing dataspaces") return var"#status#" > 0 @@ -6533,11 +6533,11 @@ end See `libhdf5` documentation for [`H5Sget_regular_hyperslab`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_REGULAR_HYPERSLAB). """ function h5s_get_regular_hyperslab(space_id, start, stride, count, block) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sget_regular_hyperslab, libhdf5), herr_t, (hid_t, Ptr{hsize_t}, Ptr{hsize_t}, Ptr{hsize_t}, Ptr{hsize_t}), space_id, start, stride, count, block) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting regular hyperslab selection") return nothing @@ -6549,11 +6549,11 @@ end See `libhdf5` documentation for [`H5Sget_simple_extent_dims`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SIMPLE_EXTENT_DIMS). """ function h5s_get_simple_extent_dims(space_id, dims, maxdims) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sget_simple_extent_dims, libhdf5), Cint, (hid_t, Ptr{hsize_t}, Ptr{hsize_t}), space_id, dims, maxdims) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the dimensions for a dataspace") return Int(var"#status#") @@ -6565,11 +6565,11 @@ end See `libhdf5` documentation for [`H5Sget_simple_extent_ndims`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SIMPLE_EXTENT_NDIMS). """ function h5s_get_simple_extent_ndims(space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sget_simple_extent_ndims, libhdf5), Cint, (hid_t,), space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the number of dimensions for a dataspace") return Int(var"#status#") @@ -6581,11 +6581,11 @@ end See `libhdf5` documentation for [`H5Sget_simple_extent_type`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SIMPLE_EXTENT_TYPE). """ function h5s_get_simple_extent_type(space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sget_simple_extent_type, libhdf5), Cint, (hid_t,), space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the dataspace type") return Int(var"#status#") @@ -6597,11 +6597,11 @@ end See `libhdf5` documentation for [`H5Sget_select_hyper_nblocks`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SELECT_HYPER_NBLOCKS). """ function h5s_get_select_hyper_nblocks(space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sget_select_hyper_nblocks, libhdf5), hssize_t, (hid_t,), space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting number of selected blocks") return var"#status#" @@ -6613,11 +6613,11 @@ end See `libhdf5` documentation for [`H5Sget_select_npoints`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SELECT_NPOINTS). """ function h5s_get_select_npoints(space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sget_select_npoints, libhdf5), hsize_t, (hid_t,), space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" == -1 % hsize_t && @h5error("Error getting the number of selected points") return var"#status#" @@ -6629,11 +6629,11 @@ end See `libhdf5` documentation for [`H5Sget_select_type`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SELECT_TYPE). """ function h5s_get_select_type(space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sget_select_type, libhdf5), Cint, (hid_t,), space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the selection type") return Int(var"#status#") @@ -6645,11 +6645,11 @@ end See `libhdf5` documentation for [`H5Sis_regular_hyperslab`](https://portal.hdfgroup.org/display/HDF5/H5S_IS_REGULAR_HYPERSLAB). """ function h5s_is_regular_hyperslab(space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sis_regular_hyperslab, libhdf5), htri_t, (hid_t,), space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining whether datapace is regular hyperslab") return var"#status#" > 0 @@ -6661,11 +6661,11 @@ end See `libhdf5` documentation for [`H5Sis_simple`](https://portal.hdfgroup.org/display/HDF5/H5S_IS_SIMPLE). """ function h5s_is_simple(space_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sis_simple, libhdf5), htri_t, (hid_t,), space_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining whether dataspace is simple") return var"#status#" > 0 @@ -6677,11 +6677,11 @@ end See `libhdf5` documentation for [`H5Sselect_hyperslab`](https://portal.hdfgroup.org/display/HDF5/H5S_SELECT_HYPERSLAB). """ function h5s_select_hyperslab(dspace_id, seloper, start, stride, count, block) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sselect_hyperslab, libhdf5), herr_t, (hid_t, Cint, Ptr{hsize_t}, Ptr{hsize_t}, Ptr{hsize_t}, Ptr{hsize_t}), dspace_id, seloper, start, stride, count, block) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error selecting hyperslab") return nothing @@ -6693,11 +6693,11 @@ end See `libhdf5` documentation for [`H5Sset_extent_simple`](https://portal.hdfgroup.org/display/HDF5/H5S_SET_EXTENT_SIMPLE). """ function h5s_set_extent_simple(dspace_id, rank, current_size, maximum_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Sset_extent_simple, libhdf5), herr_t, (hid_t, Cint, Ptr{hsize_t}, Ptr{hsize_t}), dspace_id, rank, current_size, maximum_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting dataspace size") return nothing @@ -6709,11 +6709,11 @@ end See `libhdf5` documentation for [`H5Tarray_create2`](https://portal.hdfgroup.org/display/HDF5/H5T_ARRAY_CREATE2). """ function h5t_array_create(basetype_id, ndims, sz) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tarray_create2, libhdf5), hid_t, (hid_t, Cuint, Ptr{hsize_t}), basetype_id, ndims, sz) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating H5T_ARRAY of id ", basetype_id, " and size ", sz)) return var"#status#" @@ -6725,11 +6725,11 @@ end See `libhdf5` documentation for [`H5Tclose`](https://portal.hdfgroup.org/display/HDF5/H5T_CLOSE). """ function h5t_close(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tclose, libhdf5), herr_t, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing datatype") return nothing @@ -6741,11 +6741,11 @@ end See `libhdf5` documentation for [`H5Tcommitted`](https://portal.hdfgroup.org/display/HDF5/H5T_COMMITTED). """ function h5t_committed(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tcommitted, libhdf5), htri_t, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining whether datatype is committed") return var"#status#" > 0 @@ -6757,11 +6757,11 @@ end See `libhdf5` documentation for [`H5Tcommit2`](https://portal.hdfgroup.org/display/HDF5/H5T_COMMIT2). """ function h5t_commit(loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tcommit2, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t, hid_t, hid_t, hid_t), loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error committing type") return nothing @@ -6773,11 +6773,11 @@ end See `libhdf5` documentation for [`H5Tcopy`](https://portal.hdfgroup.org/display/HDF5/H5T_COPY). """ function h5t_copy(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tcopy, libhdf5), hid_t, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error copying datatype") return var"#status#" @@ -6789,11 +6789,11 @@ end See `libhdf5` documentation for [`H5Tcreate`](https://portal.hdfgroup.org/display/HDF5/H5T_CREATE). """ function h5t_create(class_id, sz) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tcreate, libhdf5), hid_t, (Cint, Csize_t), class_id, sz) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating datatype of id ", class_id)) return var"#status#" @@ -6805,11 +6805,11 @@ end See `libhdf5` documentation for [`H5Tenum_insert`](https://portal.hdfgroup.org/display/HDF5/H5T_ENUM_INSERT). """ function h5t_enum_insert(dtype_id, name, value) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tenum_insert, libhdf5), herr_t, (hid_t, Cstring, Ptr{Cvoid}), dtype_id, name, value) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error adding ", name, " to enum datatype")) return nothing @@ -6821,11 +6821,11 @@ end See `libhdf5` documentation for [`H5Tequal`](https://portal.hdfgroup.org/display/HDF5/H5T_EQUAL). """ function h5t_equal(dtype_id1, dtype_id2) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tequal, libhdf5), htri_t, (hid_t, hid_t), dtype_id1, dtype_id2) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error checking datatype equality") return var"#status#" > 0 @@ -6837,11 +6837,11 @@ end See `libhdf5` documentation for [`H5Tget_array_dims2`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_ARRAY_DIMS2). """ function h5t_get_array_dims(dtype_id, dims) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_array_dims2, libhdf5), Cint, (hid_t, Ptr{hsize_t}), dtype_id, dims) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dimensions of array") return Int(var"#status#") @@ -6853,11 +6853,11 @@ end See `libhdf5` documentation for [`H5Tget_array_ndims`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_ARRAY_NDIMS). """ function h5t_get_array_ndims(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_array_ndims, libhdf5), Cint, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting ndims of array") return Int(var"#status#") @@ -6869,11 +6869,11 @@ end See `libhdf5` documentation for [`H5Tget_class`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_CLASS). """ function h5t_get_class(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_class, libhdf5), Cint, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting class") return Int(var"#status#") @@ -6885,11 +6885,11 @@ end See `libhdf5` documentation for [`H5Tget_cset`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_CSET). """ function h5t_get_cset(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_cset, libhdf5), Cint, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting character set encoding") return Int(var"#status#") @@ -6901,11 +6901,11 @@ end See `libhdf5` documentation for [`H5Tget_ebias`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_EBIAS). """ function h5t_get_ebias(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_ebias, libhdf5), Csize_t, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end @h5error "Error getting exponent bias" return var"#status#" @@ -6917,11 +6917,11 @@ end See `libhdf5` documentation for [`H5Tget_fields`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_FIELDS). """ function h5t_get_fields(dtype_id, spos, epos, esize, mpos, msize) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_fields, libhdf5), herr_t, (hid_t, Ref{Csize_t}, Ref{Csize_t}, Ref{Csize_t}, Ref{Csize_t}, Ref{Csize_t}), dtype_id, spos, epos, esize, mpos, msize) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting datatype floating point bit positions") return nothing @@ -6933,11 +6933,11 @@ end See `libhdf5` documentation for [`H5Tget_member_class`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_MEMBER_CLASS). """ function h5t_get_member_class(dtype_id, index) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_member_class, libhdf5), Cint, (hid_t, Cuint), dtype_id, index) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting class of compound datatype member #", index)) return Int(var"#status#") @@ -6949,11 +6949,11 @@ end See `libhdf5` documentation for [`H5Tget_member_index`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_MEMBER_INDEX). """ function h5t_get_member_index(dtype_id, membername) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_member_index, libhdf5), Cint, (hid_t, Ptr{UInt8}), dtype_id, membername) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting index of compound datatype member \"", membername, "\"")) return Int(var"#status#") @@ -6965,11 +6965,11 @@ end See `libhdf5` documentation for [`H5Tget_member_offset`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_MEMBER_OFFSET). """ function h5t_get_member_offset(dtype_id, index) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_member_offset, libhdf5), Csize_t, (hid_t, Cuint), dtype_id, index) finally - unlock(liblock) + use_lock() && unlock(liblock) end @h5error "Error getting offset of compound datatype #$(index)" return var"#status#" @@ -6981,11 +6981,11 @@ end See `libhdf5` documentation for [`H5Tget_member_type`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_MEMBER_TYPE). """ function h5t_get_member_type(dtype_id, index) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_member_type, libhdf5), hid_t, (hid_t, Cuint), dtype_id, index) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting type of compound datatype member #", index)) return var"#status#" @@ -6997,11 +6997,11 @@ end See `libhdf5` documentation for [`H5Tget_native_type`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_NATIVE_TYPE). """ function h5t_get_native_type(dtype_id, direction) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_native_type, libhdf5), hid_t, (hid_t, Cint), dtype_id, direction) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting native type") return var"#status#" @@ -7013,11 +7013,11 @@ end See `libhdf5` documentation for [`H5Tget_nmembers`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_NMEMBERS). """ function h5t_get_nmembers(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_nmembers, libhdf5), Cint, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the number of members") return Int(var"#status#") @@ -7029,11 +7029,11 @@ end See `libhdf5` documentation for [`H5Tget_offset`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_OFFSET). """ function h5t_get_offset(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_offset, libhdf5), Cint, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting offset") return Int(var"#status#") @@ -7045,11 +7045,11 @@ end See `libhdf5` documentation for [`H5Tget_order`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_ORDER). """ function h5t_get_order(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_order, libhdf5), Cint, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting order") return Int(var"#status#") @@ -7061,11 +7061,11 @@ end See `libhdf5` documentation for [`H5Tget_precision`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_PRECISION). """ function h5t_get_precision(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_precision, libhdf5), Csize_t, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end @h5error "Error getting precision" return var"#status#" @@ -7077,11 +7077,11 @@ end See `libhdf5` documentation for [`H5Tget_sign`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_SIGN). """ function h5t_get_sign(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_sign, libhdf5), Cint, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting sign") return Int(var"#status#") @@ -7093,11 +7093,11 @@ end See `libhdf5` documentation for [`H5Tget_size`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_SIZE). """ function h5t_get_size(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_size, libhdf5), Csize_t, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end @h5error "Error getting type size" return var"#status#" @@ -7109,11 +7109,11 @@ end See `libhdf5` documentation for [`H5Tget_strpad`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_STRPAD). """ function h5t_get_strpad(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_strpad, libhdf5), Cint, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting string padding") return Int(var"#status#") @@ -7125,11 +7125,11 @@ end See `libhdf5` documentation for [`H5Tget_super`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_SUPER). """ function h5t_get_super(dtype_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tget_super, libhdf5), hid_t, (hid_t,), dtype_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting super type") return var"#status#" @@ -7141,11 +7141,11 @@ end See `libhdf5` documentation for [`H5Tinsert`](https://portal.hdfgroup.org/display/HDF5/H5T_INSERT). """ function h5t_insert(dtype_id, fieldname, offset, field_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tinsert, libhdf5), herr_t, (hid_t, Ptr{UInt8}, Csize_t, hid_t), dtype_id, fieldname, offset, field_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error adding field ", fieldname, " to compound datatype")) return nothing @@ -7157,11 +7157,11 @@ end See `libhdf5` documentation for [`H5Tis_variable_str`](https://portal.hdfgroup.org/display/HDF5/H5T_IS_VARIABLE_STR). """ function h5t_is_variable_str(type_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tis_variable_str, libhdf5), htri_t, (hid_t,), type_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining whether string is of variable length") return var"#status#" > 0 @@ -7173,11 +7173,11 @@ end See `libhdf5` documentation for [`H5Tlock`](https://portal.hdfgroup.org/display/HDF5/H5T_LOCK). """ function h5t_lock(type_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tlock, libhdf5), herr_t, (hid_t,), type_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error locking type") return nothing @@ -7189,11 +7189,11 @@ end See `libhdf5` documentation for [`H5Topen2`](https://portal.hdfgroup.org/display/HDF5/H5T_OPEN2). """ function h5t_open(loc_id, name, tapl_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Topen2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, name, tapl_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening type ", h5i_get_name(loc_id), "/", name)) return var"#status#" @@ -7205,11 +7205,11 @@ end See `libhdf5` documentation for [`H5Tset_cset`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_CSET). """ function h5t_set_cset(dtype_id, cset) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tset_cset, libhdf5), herr_t, (hid_t, Cint), dtype_id, cset) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting character set in datatype") return nothing @@ -7221,11 +7221,11 @@ end See `libhdf5` documentation for [`H5Tset_ebias`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_EBIAS). """ function h5t_set_ebias(dtype_id, ebias) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tset_ebias, libhdf5), herr_t, (hid_t, Csize_t), dtype_id, ebias) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting datatype floating point exponent bias") return nothing @@ -7237,11 +7237,11 @@ end See `libhdf5` documentation for [`H5Tset_fields`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_FIELDS). """ function h5t_set_fields(dtype_id, spos, epos, esize, mpos, msize) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tset_fields, libhdf5), herr_t, (hid_t, Csize_t, Csize_t, Csize_t, Csize_t, Csize_t), dtype_id, spos, epos, esize, mpos, msize) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting datatype floating point bit positions") return nothing @@ -7253,11 +7253,11 @@ end See `libhdf5` documentation for [`H5Tset_offset`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_OFFSET). """ function h5t_set_offset(dtype_id, offset) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tset_offset, libhdf5), herr_t, (hid_t, Csize_t), dtype_id, offset) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting offset") return nothing @@ -7269,11 +7269,11 @@ end See `libhdf5` documentation for [`H5Tset_order`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_ORDER). """ function h5t_set_order(dtype_id, order) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tset_order, libhdf5), herr_t, (hid_t, Cint), dtype_id, order) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting order") return nothing @@ -7285,11 +7285,11 @@ end See `libhdf5` documentation for [`H5Tset_precision`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_PRECISION). """ function h5t_set_precision(dtype_id, sz) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tset_precision, libhdf5), herr_t, (hid_t, Csize_t), dtype_id, sz) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting precision of datatype") return nothing @@ -7301,11 +7301,11 @@ end See `libhdf5` documentation for [`H5Tset_size`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_SIZE). """ function h5t_set_size(dtype_id, sz) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tset_size, libhdf5), herr_t, (hid_t, Csize_t), dtype_id, sz) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting size of datatype") return nothing @@ -7317,11 +7317,11 @@ end See `libhdf5` documentation for [`H5Tset_strpad`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_STRPAD). """ function h5t_set_strpad(dtype_id, sz) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tset_strpad, libhdf5), herr_t, (hid_t, Cint), dtype_id, sz) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting size of datatype") return nothing @@ -7333,11 +7333,11 @@ end See `libhdf5` documentation for [`H5Tset_tag`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_TAG). """ function h5t_set_tag(dtype_id, tag) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tset_tag, libhdf5), herr_t, (hid_t, Cstring), dtype_id, tag) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting opaque tag") return nothing @@ -7349,11 +7349,11 @@ end See `libhdf5` documentation for [`H5Tvlen_create`](https://portal.hdfgroup.org/display/HDF5/H5T_VLEN_CREATE). """ function h5t_vlen_create(base_type_id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Tvlen_create, libhdf5), hid_t, (hid_t,), base_type_id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating vlen type") return var"#status#" @@ -7365,11 +7365,11 @@ end See `libhdf5` documentation for [`H5DOappend`](https://portal.hdfgroup.org/display/HDF5/H5DO_APPEND). """ function h5do_append(dset_id, dxpl_id, index, num_elem, memtype, buffer) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DOappend, libhdf5_hl), herr_t, (hid_t, hid_t, Cuint, hsize_t, hid_t, Ptr{Cvoid}), dset_id, dxpl_id, index, num_elem, memtype, buffer) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("error appending") return nothing @@ -7381,11 +7381,11 @@ end See `libhdf5` documentation for [`H5DOwrite_chunk`](https://portal.hdfgroup.org/display/HDF5/H5DO_WRITE_CHUNK). """ function h5do_write_chunk(dset_id, dxpl_id, filter_mask, offset, bufsize, buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DOwrite_chunk, libhdf5_hl), herr_t, (hid_t, hid_t, UInt32, Ptr{hsize_t}, Csize_t, Ptr{Cvoid}), dset_id, dxpl_id, filter_mask, offset, bufsize, buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing chunk") return nothing @@ -7397,11 +7397,11 @@ end See `libhdf5` documentation for [`H5DSattach_scale`](https://portal.hdfgroup.org/display/HDF5/H5DS_ATTACH_SCALE). """ function h5ds_attach_scale(did, dsid, idx) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DSattach_scale, libhdf5_hl), herr_t, (hid_t, hid_t, Cuint), did, dsid, idx) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to attach scale") return nothing @@ -7413,11 +7413,11 @@ end See `libhdf5` documentation for [`H5DSdetach_scale`](https://portal.hdfgroup.org/display/HDF5/H5DS_DETACH_SCALE). """ function h5ds_detach_scale(did, dsid, idx) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DSdetach_scale, libhdf5_hl), herr_t, (hid_t, hid_t, Cuint), did, dsid, idx) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to detach scale") return nothing @@ -7429,11 +7429,11 @@ end See `libhdf5` documentation for [`H5DSget_label`](https://portal.hdfgroup.org/display/HDF5/H5DS_GET_LABEL). """ function h5ds_get_label(did, idx, label, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DSget_label, libhdf5_hl), herr_t, (hid_t, Cuint, Ptr{UInt8}, hsize_t), did, idx, label, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to get label") return nothing @@ -7445,11 +7445,11 @@ end See `libhdf5` documentation for [`H5DSget_num_scales`](https://portal.hdfgroup.org/display/HDF5/H5DS_GET_NUM_SCALES). """ function h5ds_get_num_scales(did, idx) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DSget_num_scales, libhdf5_hl), Cint, (hid_t, Cuint), did, idx) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting number of scales") return Int(var"#status#") @@ -7461,11 +7461,11 @@ end See `libhdf5` documentation for [`H5DSget_scale_name`](https://portal.hdfgroup.org/display/HDF5/H5DS_GET_SCALE_NAME). """ function h5ds_get_scale_name(did, name, size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DSget_scale_name, libhdf5_hl), Cssize_t, (hid_t, Ptr{UInt8}, Csize_t), did, name, size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to get scale name") return var"#status#" @@ -7477,11 +7477,11 @@ end See `libhdf5` documentation for [`H5DSis_attached`](https://portal.hdfgroup.org/display/HDF5/H5DS_IS_ATTACHED). """ function h5ds_is_attached(did, dsid, idx) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DSis_attached, libhdf5_hl), htri_t, (hid_t, hid_t, Cuint), did, dsid, idx) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to check if dimension is attached") return var"#status#" > 0 @@ -7493,11 +7493,11 @@ end See `libhdf5` documentation for [`H5DSis_scale`](https://portal.hdfgroup.org/display/HDF5/H5DS_IS_SCALE). """ function h5ds_is_scale(did) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DSis_scale, libhdf5_hl), htri_t, (hid_t,), did) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to check if dataset is scale") return var"#status#" > 0 @@ -7509,11 +7509,11 @@ end See `libhdf5` documentation for [`H5DSset_label`](https://portal.hdfgroup.org/display/HDF5/H5DS_SET_LABEL). """ function h5ds_set_label(did, idx, label) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DSset_label, libhdf5_hl), herr_t, (hid_t, Cuint, Ref{UInt8}), did, idx, label) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to set label") return nothing @@ -7525,11 +7525,11 @@ end See `libhdf5` documentation for [`H5DSset_scale`](https://portal.hdfgroup.org/display/HDF5/H5DS_SET_SCALE). """ function h5ds_set_scale(dsid, dimname) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5DSset_scale, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}), dsid, dimname) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to set scale") return nothing @@ -7541,11 +7541,11 @@ end See `libhdf5` documentation for [`H5LTdtype_to_text`](https://portal.hdfgroup.org/display/HDF5/H5LT_DTYPE_TO_TEXT). """ function h5lt_dtype_to_text(datatype, str, lang_type, len) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5LTdtype_to_text, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, Cint, Ref{Csize_t}), datatype, str, lang_type, len) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting datatype text representation") return nothing @@ -7557,11 +7557,11 @@ end See `libhdf5` documentation for [`H5TBappend_records`](https://portal.hdfgroup.org/display/HDF5/H5TB_APPEND_RECORDS). """ function h5tb_append_records(loc_id, dset_name, nrecords, type_size, field_offset, field_sizes, data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5TBappend_records, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, hsize_t, Csize_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cvoid}), loc_id, dset_name, nrecords, type_size, field_offset, field_sizes, data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error adding record to table") return nothing @@ -7573,11 +7573,11 @@ end See `libhdf5` documentation for [`H5TBget_field_info`](https://portal.hdfgroup.org/display/HDF5/H5TB_GET_FIELD_INFO). """ function h5tb_get_field_info(loc_id, table_name, field_names, field_sizes, field_offsets, type_size) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5TBget_field_info, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, Ptr{Ptr{UInt8}}, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Csize_t}), loc_id, table_name, field_names, field_sizes, field_offsets, type_size) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting field information") return nothing @@ -7589,11 +7589,11 @@ end See `libhdf5` documentation for [`H5TBget_table_info`](https://portal.hdfgroup.org/display/HDF5/H5TB_GET_TABLE_INFO). """ function h5tb_get_table_info(loc_id, table_name, nfields, nrecords) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5TBget_table_info, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, Ptr{hsize_t}, Ptr{hsize_t}), loc_id, table_name, nfields, nrecords) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting table information") return nothing @@ -7605,11 +7605,11 @@ end See `libhdf5` documentation for [`H5TBmake_table`](https://portal.hdfgroup.org/display/HDF5/H5TB_MAKE_TABLE). """ function h5tb_make_table(table_title, loc_id, dset_name, nfields, nrecords, type_size, field_names, field_offset, field_types, chunk_size, fill_data, compress, data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5TBmake_table, libhdf5_hl), herr_t, (Ptr{UInt8}, hid_t, Ptr{UInt8}, hsize_t, hsize_t, Csize_t, Ptr{Ptr{UInt8}}, Ptr{Csize_t}, Ptr{hid_t}, hsize_t, Ptr{Cvoid}, Cint, Ptr{Cvoid}), table_title, loc_id, dset_name, nfields, nrecords, type_size, field_names, field_offset, field_types, chunk_size, fill_data, compress, data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating and writing dataset to table") return nothing @@ -7621,11 +7621,11 @@ end See `libhdf5` documentation for [`H5TBread_records`](https://portal.hdfgroup.org/display/HDF5/H5TB_READ_RECORDS). """ function h5tb_read_records(loc_id, table_name, start, nrecords, type_size, field_offsets, dst_sizes, data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5TBread_records, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, hsize_t, hsize_t, Csize_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cvoid}), loc_id, table_name, start, nrecords, type_size, field_offsets, dst_sizes, data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error reading record from table") return nothing @@ -7637,11 +7637,11 @@ end See `libhdf5` documentation for [`H5TBread_table`](https://portal.hdfgroup.org/display/HDF5/H5TB_READ_TABLE). """ function h5tb_read_table(loc_id, table_name, dst_size, dst_offset, dst_sizes, dst_buf) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5TBread_table, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, Csize_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cvoid}), loc_id, table_name, dst_size, dst_offset, dst_sizes, dst_buf) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error reading table") return nothing @@ -7653,11 +7653,11 @@ end See `libhdf5` documentation for [`H5TBwrite_records`](https://portal.hdfgroup.org/display/HDF5/H5TB_WRITE_RECORDS). """ function h5tb_write_records(loc_id, table_name, start, nrecords, type_size, field_offsets, field_sizes, data) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5TBwrite_records, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, hsize_t, hsize_t, Csize_t, Ptr{UInt8}, Ptr{UInt8}, Ptr{Cvoid}), loc_id, table_name, start, nrecords, type_size, field_offsets, field_sizes, data) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing record to table") return nothing @@ -7669,11 +7669,11 @@ end See `libhdf5` documentation for [`H5Zregister`](https://portal.hdfgroup.org/display/HDF5/H5Z_REGISTER). """ function h5z_register(filter_class) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Zregister, libhdf5), herr_t, (Ref{H5Z_class_t},), filter_class) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to register new filter") return nothing @@ -7685,11 +7685,11 @@ end See `libhdf5` documentation for [`H5Zunregister`](https://portal.hdfgroup.org/display/HDF5/H5Z_UNREGISTER). """ function h5z_unregister(id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Zunregister, libhdf5), herr_t, (H5Z_filter_t,), id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to unregister filter") return nothing @@ -7701,11 +7701,11 @@ end See `libhdf5` documentation for [`H5Zfilter_avail`](https://portal.hdfgroup.org/display/HDF5/H5Z_FILTER_AVAIL). """ function h5z_filter_avail(id) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Zfilter_avail, libhdf5), htri_t, (H5Z_filter_t,), id) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to get check filter availability") return var"#status#" > 0 @@ -7717,11 +7717,11 @@ end See `libhdf5` documentation for [`H5Zget_filter_info`](https://portal.hdfgroup.org/display/HDF5/H5Z_GET_FILTER_INFO). """ function h5z_get_filter_info(filter, filter_config_flags) - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5Zget_filter_info, libhdf5), herr_t, (H5Z_filter_t, Ptr{Cuint}), filter, filter_config_flags) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting filter information") return nothing @@ -7733,11 +7733,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_CORE`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_core_init() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5FD_core_init, libhdf5), hid_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7749,11 +7749,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_FAMILY`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_family_init() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5FD_family_init, libhdf5), hid_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7765,11 +7765,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_LOG`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_log_init() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5FD_log_init, libhdf5), hid_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7781,11 +7781,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_MPIO`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_mpio_init() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5FD_mpio_init, libhdf5), hid_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7797,11 +7797,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_MULTI`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_multi_init() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5FD_multi_init, libhdf5), hid_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7813,11 +7813,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_SEC2`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_sec2_init() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5FD_sec2_init, libhdf5), hid_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7829,11 +7829,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_STDIO`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_stdio_init() - lock(liblock) + use_lock() && lock(liblock) var"#status#" = try ccall((:H5FD_stdio_init, libhdf5), hid_t, ()) finally - unlock(liblock) + use_lock() && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" diff --git a/src/api/rawapi.jl b/src/api/rawapi.jl new file mode 100644 index 000000000..11b8209e1 --- /dev/null +++ b/src/api/rawapi.jl @@ -0,0 +1,48 @@ +""" + Low-level HDF5 API without locks by default +""" +module RawAPI + +import Libdl +using Base: StringVector + +const depsfile = joinpath(@__DIR__, "..", "..", "deps", "deps.jl") +if isfile(depsfile) + include(depsfile) +else + error( + "HDF5 is not properly installed. Please run Pkg.build(\"HDF5\") ", + "and restart Julia." + ) +end + +const liblock = ReentrantLock() +const _use_lock = false +use_lock() = _use_lock + +include("types.jl") +include("error.jl") +include("functions.jl") # core API ccall wrappers +include("helpers.jl") + +function __init__() + # HDF5.API.__init__() is run before HDF5.__init__() + + # From deps.jl + check_deps() + + # Ensure this is reinitialized on using + libhdf5handle[] = Libdl.dlopen(libhdf5) + + # Disable file locking as that can cause problems with mmap'ing. + # File locking is disabled in HDF5.init!(::FileAccessPropertyList) + # or here if h5p_set_file_locking is not available + @static if !has_h5p_set_file_locking() && !haskey(ENV, "HDF5_USE_FILE_LOCKING") + ENV["HDF5_USE_FILE_LOCKING"] = "FALSE" + end + + # use our own error handling machinery (i.e. turn off automatic error printing) + h5e_set_auto(H5E_DEFAULT, C_NULL, C_NULL) +end + +end # module API From 9a43edcc5bad7e0dcb20173835b189c8947e1e8e Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Tue, 1 Nov 2022 01:22:19 -0400 Subject: [PATCH 02/14] Use Preferences.jl to control API locking at compile time --- Project.toml | 2 + src/api/api.jl | 14 +++--- src/api/error.jl | 2 +- src/api/lock.jl | 110 ++++++++++++++++++++++++++++++++++++++++++++++ src/api/rawapi.jl | 6 ++- src/properties.jl | 2 +- src/types.jl | 14 +++--- 7 files changed, 134 insertions(+), 16 deletions(-) create mode 100644 src/api/lock.jl diff --git a/Project.toml b/Project.toml index 480482a67..652da5c90 100644 --- a/Project.toml +++ b/Project.toml @@ -7,6 +7,7 @@ Compat = "34da2185-b29b-5c13-b0c7-acf172513d20" HDF5_jll = "0234f1f7-429e-5d53-9886-15a909be8d59" Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" Mmap = "a63ad114-7e13-5084-954f-fe012c677804" +Preferences = "21216c6a-2e73-6563-6e65-726566657250" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" Requires = "ae029012-a4dd-5104-9daa-d747884805df" @@ -14,6 +15,7 @@ Requires = "ae029012-a4dd-5104-9daa-d747884805df" Compat = "3.1.0, 4" HDF5_jll = "~1.10.5, ~1.12.0" Requires = "1.0" +Preferences = "1.3" julia = "1.3" [extras] diff --git a/src/api/api.jl b/src/api/api.jl index fb0ef591a..91e4444fc 100644 --- a/src/api/api.jl +++ b/src/api/api.jl @@ -1,6 +1,13 @@ +""" + HDF5.API + +Low-level API module with configurable locking mechanism to support +multithreading. +""" module API import Libdl +import Preferences using Base: StringVector const depsfile = joinpath(@__DIR__, "..", "..", "deps", "deps.jl") @@ -13,10 +20,7 @@ else ) end -const liblock = ReentrantLock() -const _use_lock = Ref(true) -use_lock() = _use_lock[] - +include("lock.jl") include("types.jl") include("error.jl") include("functions.jl") # core API ccall wrappers @@ -26,7 +30,7 @@ function __init__() # HDF5.API.__init__() is run before HDF5.__init__() # Not need to lock if single threaded - _use_lock[] = Threads.nthreads() > 1 + _use_lock[] = Threads.nthreads() > 1 && _use_lock[] # From deps.jl check_deps() diff --git a/src/api/error.jl b/src/api/error.jl index 5f698c552..6888bec79 100644 --- a/src/api/error.jl +++ b/src/api/error.jl @@ -40,7 +40,7 @@ Base.isempty(err::H5Error) = length(err) == 0 function H5Error(msg::AbstractString) id = h5e_get_current_stack() err = H5Error(msg, id) - finalizer(close, err) + finalizer(lock_and_close, err) return err end diff --git a/src/api/lock.jl b/src/api/lock.jl new file mode 100644 index 000000000..5e7f71687 --- /dev/null +++ b/src/api/lock.jl @@ -0,0 +1,110 @@ +const liblock = ReentrantLock() + +""" + HDF5.API.use_lock_pref::Symbol + +Julia compile time preference of whether to use a `ReentrantLock`. By default +the HDF5 C library is not thread-safe. Concurrent calls to the HDF5 library +from multiple threads will likely fail. +""" +const use_lock_pref = Symbol(Preferences.@load_preference("use_api_lock", default = "sometimes")) + +# _use_lock is for internal or debugging use only and will be ignored when use_lock_pref is :always or :never +@static if use_lock_pref == :always + const _use_lock = Ref(true) + + """ + HDF5.API.use_lock() = true + + A lock will always be used regardless of the number of threads used as + configured at compile time. + + See [`HDF.API.get_use_lock_pref`](@ref) and [`HDF5.API.set_use_lock_pref!`](@ref). + """ + @inline use_lock() = true + +elseif use_lock_pref == :never + const _use_lock = Ref(false) + + """ + HDF5.API.use_lock() = false + + The use of a lock during multithreading has been disabled at compile time. + + See [`HDF.API.get_use_lock_pref`](@ref) and [`HDF5.API.set_use_lock_pref!`](@ref). + """ + @inline use_lock() = false + +else + # The default is :sometimes, but warn if an unknown value is used. + @static if use_lock_pref != :sometimes + @warn """An unknown HDF5 `use_lock` preference of "$use_lock_pref" + was loaded. The `use_lock` will default to `:sometimes`. + Use `HDF5.API.set_use_lock_pref!(:sometimes)` to remove this warning.""" + end + + const _use_lock = Ref(true) + + """ + HDF5.API.use_lock() + + Determine whether to use a lock at runtime or not. This is called by each + low-level API function in HDF5.API. + + By default, this will return `true` if `Threads.nthreads() > 1` and `false` + otherwise. + + See [`HDF.API.get_use_lock_pref`](@ref) and [`HDF5.API.set_use_lock_pref!`](@ref). + """ + @inline use_lock() = _use_lock[] +end + +""" + HDF5.API.set_use_lock_pref!(use_lock::Symbol) + +Set the compile time preference configuration whether to use a lock or not +when using multithreading. + +Restarting Julia will be required for this preference to take effect since +the HDF5 package will need to be recompiled. + +There are three valid values. +* `:always`, A `ReentrantLock` is always used when calling a low-level API function. +* `:sometimes`, A `ReentrantLock` is used when using multithreading, e.g. `Threads.nthreads() > 1`. +* `:never`, A `RenntrantLock is only used with finalizers. The user is responsible for calling `lock(HDF5.API.liblock)`. + +See also [`HDF5.API.get_use_lock_pref`](@ref). +""" +function set_use_lock_pref!(use_api_lock::Symbol) + use_api_lock in (:always, :sometimes, :never) || error("The argument `use_lock` must be either `:always`, `:sometimes`, or `:never`.") + @info "Please restart Julia for the use_lock preference to take effect" + Preferences.@set_preferences!("use_api_lock" => string(use_api_lock)) +end + +""" + get_use_lock_pref() + +Get the compile time preference configuration whether to use a lock or not +when using multithreading. + +See [`HDF5.API.set_use_lock_pref!`](@ref) for the definition of the values. +""" +function get_use_lock_pref() + return use_lock_pref +end + +""" + HDF5.API.lock_and_close(obj) + +Acquire HDF5.API.liblock before trying to close `obj`. This will always acquire +the lock regardless of the value of `HDF5.API.get_use_lock_pref()`. It is +intended for use with finalizers. +""" +function lock_and_close(obj) + lock(liblock) + try + close(obj) + finally + unlock(liblock) + end +end diff --git a/src/api/rawapi.jl b/src/api/rawapi.jl index 11b8209e1..042ffb477 100644 --- a/src/api/rawapi.jl +++ b/src/api/rawapi.jl @@ -1,5 +1,7 @@ """ - Low-level HDF5 API without locks by default + HFD5.RawAPI + +Low-level HDF5 API without locks. """ module RawAPI @@ -16,9 +18,9 @@ else ) end -const liblock = ReentrantLock() const _use_lock = false use_lock() = _use_lock +lock_and_close(obj) = close(obj) include("types.jl") include("error.jl") diff --git a/src/properties.jl b/src/properties.jl index 2ebdb6d65..117da5f09 100644 --- a/src/properties.jl +++ b/src/properties.jl @@ -104,7 +104,7 @@ macro propertyclass(name, classid) id::API.hid_t function $name(id::API.hid_t) obj = new(id) - finalizer(close, obj) + finalizer(API.lock_and_close, obj) obj end end diff --git a/src/types.jl b/src/types.jl index eea17a9b3..52300063c 100644 --- a/src/types.jl +++ b/src/types.jl @@ -41,7 +41,7 @@ mutable struct File <: H5DataStore function File(id, filename, toclose::Bool=true) f = new(id, filename) if toclose - finalizer(close, f) + finalizer(API.lock_and_close, f) end f end @@ -55,7 +55,7 @@ mutable struct Group <: H5DataStore function Group(id, file) g = new(id, file) - finalizer(close, g) + finalizer(API.lock_and_close, g) g end end @@ -69,7 +69,7 @@ mutable struct Dataset function Dataset(id, file, xfer=DatasetTransferProperties()) dset = new(id, file, xfer) - finalizer(close, dset) + finalizer(API.lock_and_close, dset) dset end end @@ -84,14 +84,14 @@ mutable struct Datatype function Datatype(id, toclose::Bool=true) nt = new(id, toclose) if toclose - finalizer(close, nt) + finalizer(API.lock_and_close, nt) end nt end function Datatype(id, file::File, toclose::Bool=true) nt = new(id, toclose, file) if toclose - finalizer(close, nt) + finalizer(API.lock_and_close, nt) end nt end @@ -106,7 +106,7 @@ mutable struct Dataspace function Dataspace(id) dspace = new(id) - finalizer(close, dspace) + finalizer(API.lock_and_close, dspace) dspace end end @@ -119,7 +119,7 @@ mutable struct Attribute function Attribute(id, file) dset = new(id, file) - finalizer(close, dset) + finalizer(API.lock_and_close, dset) dset end end From 61ae0edcd514274f2d679fbdb89662ff4e30ba6d Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Mon, 7 Nov 2022 23:23:22 -0500 Subject: [PATCH 03/14] Simplify --- gen/bind_generator.jl | 4 +- src/HDF5.jl | 1 - src/api/api.jl | 3 - src/api/functions.jl | 1948 ++++++++++++++++++++--------------------- src/api/lock.jl | 80 +- src/api/rawapi.jl | 50 -- 6 files changed, 992 insertions(+), 1094 deletions(-) delete mode 100644 src/api/rawapi.jl diff --git a/gen/bind_generator.jl b/gen/bind_generator.jl index a55a6f3c5..23d215f6c 100644 --- a/gen/bind_generator.jl +++ b/gen/bind_generator.jl @@ -243,11 +243,11 @@ function _bind(__module__, __source__, sig::Expr, err::Union{String,Expr,Nothing jlfuncsig = Expr(:call, jlfuncname, args...) jlfuncbody = Expr( :block, __source__, - :(use_lock() && lock(liblock)), + :(use_api_lock && lock(liblock)), :($statsym = try $ccallexpr finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end) ) if errexpr !== nothing diff --git a/src/HDF5.jl b/src/HDF5.jl index 0c895c6eb..8e8cd4056 100644 --- a/src/HDF5.jl +++ b/src/HDF5.jl @@ -64,7 +64,6 @@ export @read, h5doc(name) = "[`$name`](https://portal.hdfgroup.org/display/HDF5/$(name))" include("api/api.jl") -include("api/rawapi.jl") include("properties.jl") include("context.jl") include("types.jl") diff --git a/src/api/api.jl b/src/api/api.jl index 91e4444fc..d8a8028c3 100644 --- a/src/api/api.jl +++ b/src/api/api.jl @@ -29,9 +29,6 @@ include("helpers.jl") function __init__() # HDF5.API.__init__() is run before HDF5.__init__() - # Not need to lock if single threaded - _use_lock[] = Threads.nthreads() > 1 && _use_lock[] - # From deps.jl check_deps() diff --git a/src/api/functions.jl b/src/api/functions.jl index 0deb11cdc..30b911486 100644 --- a/src/api/functions.jl +++ b/src/api/functions.jl @@ -17,11 +17,11 @@ _libhdf5_build_ver = let See `libhdf5` documentation for [`H5close`](https://portal.hdfgroup.org/display/HDF5/H5_CLOSE). """ function h5_close() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5close, libhdf5), herr_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing the HDF5 resources") return nothing @@ -33,11 +33,11 @@ end See `libhdf5` documentation for [`H5dont_atexit`](https://portal.hdfgroup.org/display/HDF5/H5_DONT_ATEXIT). """ function h5_dont_atexit() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5dont_atexit, libhdf5), herr_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error calling dont_atexit") return nothing @@ -49,11 +49,11 @@ end See `libhdf5` documentation for [`H5free_memory`](https://portal.hdfgroup.org/display/HDF5/H5_FREE_MEMORY). """ function h5_free_memory(buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5free_memory, libhdf5), herr_t, (Ptr{Cvoid},), buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error freeing memory") return nothing @@ -65,11 +65,11 @@ end See `libhdf5` documentation for [`H5garbage_collect`](https://portal.hdfgroup.org/display/HDF5/H5_GARBAGE_COLLECT). """ function h5_garbage_collect() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5garbage_collect, libhdf5), herr_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error on garbage collect") return nothing @@ -81,11 +81,11 @@ end See `libhdf5` documentation for [`H5get_libversion`](https://portal.hdfgroup.org/display/HDF5/H5_GET_LIBVERSION). """ function h5_get_libversion(majnum, minnum, relnum) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5get_libversion, libhdf5), herr_t, (Ref{Cuint}, Ref{Cuint}, Ref{Cuint}), majnum, minnum, relnum) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting HDF5 library version") return nothing @@ -97,11 +97,11 @@ end See `libhdf5` documentation for [`H5is_library_threadsafe`](https://portal.hdfgroup.org/display/HDF5/H5_IS_LIBRARY_THREADSAFE). """ function h5_is_library_threadsafe(is_ts) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5is_library_threadsafe, libhdf5), herr_t, (Ref{Cuint},), is_ts) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining thread safety") return nothing @@ -113,11 +113,11 @@ end See `libhdf5` documentation for [`H5open`](https://portal.hdfgroup.org/display/HDF5/H5_OPEN). """ function h5_open() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5open, libhdf5), herr_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing the HDF5 library") return nothing @@ -129,11 +129,11 @@ end See `libhdf5` documentation for [`H5set_free_list_limits`](https://portal.hdfgroup.org/display/HDF5/H5_SET_FREE_LIST_LIMITS). """ function h5_set_free_list_limits(reg_global_lim, reg_list_lim, arr_global_lim, arr_list_lim, blk_global_lim, blk_list_lim) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5set_free_list_limits, libhdf5), herr_t, (Cint, Cint, Cint, Cint, Cint, Cint), reg_global_lim, reg_list_lim, arr_global_lim, arr_list_lim, blk_global_lim, blk_list_lim) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting limits on free lists") return nothing @@ -145,11 +145,11 @@ end See `libhdf5` documentation for [`H5Aclose`](https://portal.hdfgroup.org/display/HDF5/H5A_CLOSE). """ function h5a_close(id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aclose, libhdf5), herr_t, (hid_t,), id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing attribute") return nothing @@ -161,11 +161,11 @@ end See `libhdf5` documentation for [`H5Acreate2`](https://portal.hdfgroup.org/display/HDF5/H5A_CREATE2). """ function h5a_create(loc_id, attr_name, type_id, space_id, acpl_id, aapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Acreate2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t, hid_t, hid_t, hid_t), loc_id, attr_name, type_id, space_id, acpl_id, aapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating attribute ", attr_name, " for object ", h5i_get_name(loc_id))) return var"#status#" @@ -177,11 +177,11 @@ end See `libhdf5` documentation for [`H5Acreate_by_name`](https://portal.hdfgroup.org/display/HDF5/H5A_CREATE_BY_NAME). """ function h5a_create_by_name(loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Acreate_by_name, libhdf5), hid_t, (hid_t, Ptr{UInt8}, Ptr{UInt8}, hid_t, hid_t, hid_t, hid_t, hid_t), loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating attribute ", attr_name, " for object ", obj_name)) return var"#status#" @@ -193,11 +193,11 @@ end See `libhdf5` documentation for [`H5Adelete`](https://portal.hdfgroup.org/display/HDF5/H5A_DELETE). """ function h5a_delete(loc_id, attr_name) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Adelete, libhdf5), herr_t, (hid_t, Ptr{UInt8}), loc_id, attr_name) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error deleting attribute ", attr_name)) return nothing @@ -209,11 +209,11 @@ end See `libhdf5` documentation for [`H5Adelete_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5A_DELETE_BY_IDX). """ function h5a_delete_by_idx(loc_id, obj_name, idx_type, order, n, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Adelete_by_idx, libhdf5), herr_t, (hid_t, Ptr{UInt8}, Cint, Cint, hsize_t, hid_t), loc_id, obj_name, idx_type, order, n, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error deleting attribute ", n, " from object ", obj_name)) return nothing @@ -225,11 +225,11 @@ end See `libhdf5` documentation for [`H5Adelete_by_name`](https://portal.hdfgroup.org/display/HDF5/H5A_DELETE_BY_NAME). """ function h5a_delete_by_name(loc_id, obj_name, attr_name, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Adelete_by_name, libhdf5), herr_t, (hid_t, Ptr{UInt8}, Ptr{UInt8}, hid_t), loc_id, obj_name, attr_name, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error removing attribute ", attr_name, " from object ", obj_name)) return nothing @@ -241,11 +241,11 @@ end See `libhdf5` documentation for [`H5Aexists`](https://portal.hdfgroup.org/display/HDF5/H5A_EXISTS). """ function h5a_exists(obj_id, attr_name) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aexists, libhdf5), htri_t, (hid_t, Ptr{UInt8}), obj_id, attr_name) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error checking whether attribute ", attr_name, " exists")) return var"#status#" > 0 @@ -257,11 +257,11 @@ end See `libhdf5` documentation for [`H5Aexists_by_name`](https://portal.hdfgroup.org/display/HDF5/H5A_EXISTS_BY_NAME). """ function h5a_exists_by_name(loc_id, obj_name, attr_name, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aexists_by_name, libhdf5), htri_t, (hid_t, Ptr{UInt8}, Ptr{UInt8}, hid_t), loc_id, obj_name, attr_name, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error checking whether object ", obj_name, " has attribute ", attr_name)) return var"#status#" > 0 @@ -273,11 +273,11 @@ end See `libhdf5` documentation for [`H5Aget_create_plist`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_CREATE_PLIST). """ function h5a_get_create_plist(attr_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aget_create_plist, libhdf5), hid_t, (hid_t,), attr_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Cannot get creation property list") return var"#status#" @@ -289,11 +289,11 @@ end See `libhdf5` documentation for [`H5Aget_name`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_NAME). """ function h5a_get_name(attr_id, buf_size, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aget_name, libhdf5), Cssize_t, (hid_t, Csize_t, Ptr{UInt8}), attr_id, buf_size, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute name") return var"#status#" @@ -305,11 +305,11 @@ end See `libhdf5` documentation for [`H5Aget_name_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_NAME_BY_IDX). """ function h5a_get_name_by_idx(loc_id, obj_name, index_type, order, idx, name, size, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aget_name_by_idx, libhdf5), Cssize_t, (hid_t, Cstring, Cint, Cint, hsize_t, Ptr{UInt8}, Csize_t, hid_t), loc_id, obj_name, index_type, order, idx, name, size, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute name") return var"#status#" @@ -321,11 +321,11 @@ end See `libhdf5` documentation for [`H5Aget_space`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_SPACE). """ function h5a_get_space(attr_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aget_space, libhdf5), hid_t, (hid_t,), attr_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute dataspace") return var"#status#" @@ -337,11 +337,11 @@ end See `libhdf5` documentation for [`H5Aget_type`](https://portal.hdfgroup.org/display/HDF5/H5A_GET_TYPE). """ function h5a_get_type(attr_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aget_type, libhdf5), hid_t, (hid_t,), attr_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute type") return var"#status#" @@ -353,11 +353,11 @@ end See `libhdf5` documentation for [`H5Aiterate2`](https://portal.hdfgroup.org/display/HDF5/H5A_ITERATE2). """ function h5a_iterate(obj_id, idx_type, order, n, op, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aiterate2, libhdf5), herr_t, (hid_t, Cint, Cint, Ptr{hsize_t}, Ptr{Cvoid}, Any), obj_id, idx_type, order, n, op, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error iterating attributes in object ", h5i_get_name(obj_id))) return nothing @@ -369,11 +369,11 @@ end See `libhdf5` documentation for [`H5Aopen`](https://portal.hdfgroup.org/display/HDF5/H5A_OPEN). """ function h5a_open(obj_id, attr_name, aapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aopen, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), obj_id, attr_name, aapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening attribute ", attr_name, " for object ", h5i_get_name(obj_id))) return var"#status#" @@ -385,11 +385,11 @@ end See `libhdf5` documentation for [`H5Aopen_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5A_OPEN_BY_IDX). """ function h5a_open_by_idx(obj_id, pathname, idx_type, order, n, aapl_id, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aopen_by_idx, libhdf5), hid_t, (hid_t, Ptr{UInt8}, Cint, Cint, hsize_t, hid_t, hid_t), obj_id, pathname, idx_type, order, n, aapl_id, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening attribute ", n, " of ", h5i_get_name(obj_id), "/", pathname)) return var"#status#" @@ -401,11 +401,11 @@ end See `libhdf5` documentation for [`H5Aread`](https://portal.hdfgroup.org/display/HDF5/H5A_READ). """ function h5a_read(attr_id, mem_type_id, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Aread, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), attr_id, mem_type_id, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error reading attribute ", h5a_get_name(attr_id))) return nothing @@ -417,11 +417,11 @@ end See `libhdf5` documentation for [`H5Arename`](https://portal.hdfgroup.org/display/HDF5/H5A_RENAME). """ function h5a_rename(loc_id, old_attr_name, new_attr_name) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Arename, libhdf5), herr_t, (hid_t, Cstring, Cstring), loc_id, old_attr_name, new_attr_name) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Could not rename attribute")) return nothing @@ -433,11 +433,11 @@ end See `libhdf5` documentation for [`H5Awrite`](https://portal.hdfgroup.org/display/HDF5/H5A_WRITE). """ function h5a_write(attr_hid, mem_type_id, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Awrite, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), attr_hid, mem_type_id, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing attribute data") return nothing @@ -449,11 +449,11 @@ end See `libhdf5` documentation for [`H5Dclose`](https://portal.hdfgroup.org/display/HDF5/H5D_CLOSE). """ function h5d_close(dataset_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dclose, libhdf5), herr_t, (hid_t,), dataset_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing dataset") return nothing @@ -465,11 +465,11 @@ end See `libhdf5` documentation for [`H5Dcreate2`](https://portal.hdfgroup.org/display/HDF5/H5D_CREATE2). """ function h5d_create(loc_id, pathname, dtype_id, space_id, lcpl_id, dcpl_id, dapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dcreate2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t, hid_t, hid_t, hid_t, hid_t), loc_id, pathname, dtype_id, space_id, lcpl_id, dcpl_id, dapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating dataset ", h5i_get_name(loc_id), "/", pathname)) return var"#status#" @@ -481,11 +481,11 @@ end See `libhdf5` documentation for [`H5Dcreate_anon`](https://portal.hdfgroup.org/display/HDF5/H5D_CREATE_ANON). """ function h5d_create_anon(loc_id, type_id, space_id, dcpl_id, dapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dcreate_anon, libhdf5), hid_t, (hid_t, hid_t, hid_t, hid_t, hid_t), loc_id, type_id, space_id, dcpl_id, dapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in creating anonymous dataset") return var"#status#" @@ -497,11 +497,11 @@ end See `libhdf5` documentation for [`H5Dextend`](https://portal.hdfgroup.org/display/HDF5/H5D_EXTEND). """ function h5d_extend(dataset_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dextend, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), dataset_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error extending dataset") return nothing @@ -513,11 +513,11 @@ end See `libhdf5` documentation for [`H5Dfill`](https://portal.hdfgroup.org/display/HDF5/H5D_FILL). """ function h5d_fill(fill, fill_type_id, buf, buf_type_id, space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dfill, libhdf5), herr_t, (Ptr{Cvoid}, hid_t, Ptr{Cvoid}, hid_t, hid_t), fill, fill_type_id, buf, buf_type_id, space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error filling dataset") return nothing @@ -529,11 +529,11 @@ end See `libhdf5` documentation for [`H5Dflush`](https://portal.hdfgroup.org/display/HDF5/H5D_FLUSH). """ function h5d_flush(dataset_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dflush, libhdf5), herr_t, (hid_t,), dataset_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error flushing dataset") return nothing @@ -545,11 +545,11 @@ end See `libhdf5` documentation for [`H5Dgather`](https://portal.hdfgroup.org/display/HDF5/H5D_GATHER). """ function h5d_gather(src_space_id, src_buf, type_id, dst_buf_size, dst_buf, op, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dgather, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, hid_t, Csize_t, Ptr{Cvoid}, Ptr{Cvoid}, Any), src_space_id, src_buf, type_id, dst_buf_size, dst_buf, op, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error gathering dataset") return nothing @@ -561,11 +561,11 @@ end See `libhdf5` documentation for [`H5Dget_access_plist`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_ACCESS_PLIST). """ function h5d_get_access_plist(dataset_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_access_plist, libhdf5), hid_t, (hid_t,), dataset_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataset access property list") return var"#status#" @@ -577,11 +577,11 @@ end See `libhdf5` documentation for [`H5Dget_chunk_info`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_CHUNK_INFO). """ function h5d_get_chunk_info(dataset_id, fspace_id, index, offset, filter_mask, addr, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_chunk_info, libhdf5), herr_t, (hid_t, hid_t, hsize_t, Ptr{hsize_t}, Ptr{Cuint}, Ptr{haddr_t}, Ptr{hsize_t}), dataset_id, fspace_id, index, offset, filter_mask, addr, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting chunk info") return nothing @@ -594,11 +594,11 @@ end See `libhdf5` documentation for [`H5Dget_chunk_info_by_coord`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_CHUNK_INFO_BY_COORD). """ function h5d_get_chunk_info_by_coord(dataset_id, offset, filter_mask, addr, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_chunk_info_by_coord, libhdf5), herr_t, (hid_t, Ptr{hsize_t}, Ptr{Cuint}, Ptr{haddr_t}, Ptr{hsize_t}), dataset_id, offset, filter_mask, addr, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting chunk info by coord") return nothing @@ -611,11 +611,11 @@ end See `libhdf5` documentation for [`H5Dget_chunk_storage_size`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_CHUNK_STORAGE_SIZE). """ function h5d_get_chunk_storage_size(dataset_id, offset, chunk_nbytes) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_chunk_storage_size, libhdf5), herr_t, (hid_t, Ptr{hsize_t}, Ptr{hsize_t}), dataset_id, offset, chunk_nbytes) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting chunk storage size") return nothing @@ -627,11 +627,11 @@ end See `libhdf5` documentation for [`H5Dget_create_plist`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_CREATE_PLIST). """ function h5d_get_create_plist(dataset_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_create_plist, libhdf5), hid_t, (hid_t,), dataset_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataset create property list") return var"#status#" @@ -644,11 +644,11 @@ end See `libhdf5` documentation for [`H5Dget_num_chunks`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_NUM_CHUNKS). """ function h5d_get_num_chunks(dataset_id, fspace_id, nchunks) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_num_chunks, libhdf5), herr_t, (hid_t, hid_t, Ptr{hsize_t}), dataset_id, fspace_id, nchunks) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting number of chunks") return nothing @@ -661,11 +661,11 @@ end See `libhdf5` documentation for [`H5Dget_offset`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_OFFSET). """ function h5d_get_offset(dataset_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_offset, libhdf5), haddr_t, (hid_t,), dataset_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" == -1 % haddr_t && @h5error("Error getting offset") return var"#status#" @@ -677,11 +677,11 @@ end See `libhdf5` documentation for [`H5Dget_space`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_SPACE). """ function h5d_get_space(dataset_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_space, libhdf5), hid_t, (hid_t,), dataset_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataspace") return var"#status#" @@ -693,11 +693,11 @@ end See `libhdf5` documentation for [`H5Dget_space_status`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_SPACE_STATUS). """ function h5d_get_space_status(dataset_id, status) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_space_status, libhdf5), herr_t, (hid_t, Ref{Cint}), dataset_id, status) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataspace status") return nothing @@ -709,11 +709,11 @@ end See `libhdf5` documentation for [`H5Dget_storage_size`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_STORAGE_SIZE). """ function h5d_get_storage_size(dataset_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_storage_size, libhdf5), hsize_t, (hid_t,), dataset_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" == -1 % hsize_t && @h5error("Error getting storage size") return var"#status#" @@ -725,11 +725,11 @@ end See `libhdf5` documentation for [`H5Dget_type`](https://portal.hdfgroup.org/display/HDF5/H5D_GET_TYPE). """ function h5d_get_type(dataset_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dget_type, libhdf5), hid_t, (hid_t,), dataset_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataspace type") return var"#status#" @@ -741,11 +741,11 @@ end See `libhdf5` documentation for [`H5Diterate`](https://portal.hdfgroup.org/display/HDF5/H5D_ITERATE). """ function h5d_iterate(buf, type_id, space_id, operator, operator_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Diterate, libhdf5), herr_t, (Ptr{Cvoid}, hid_t, hid_t, Ptr{Cvoid}, Any), buf, type_id, space_id, operator, operator_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error iterating dataset") return nothing @@ -757,11 +757,11 @@ end See `libhdf5` documentation for [`H5Dopen2`](https://portal.hdfgroup.org/display/HDF5/H5D_OPEN2). """ function h5d_open(loc_id, pathname, dapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dopen2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, pathname, dapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening dataset ", h5i_get_name(loc_id), "/", pathname)) return var"#status#" @@ -773,11 +773,11 @@ end See `libhdf5` documentation for [`H5Dread`](https://portal.hdfgroup.org/display/HDF5/H5D_READ). """ function h5d_read(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dread, libhdf5), herr_t, (hid_t, hid_t, hid_t, hid_t, hid_t, Ptr{Cvoid}), dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error reading dataset ", h5i_get_name(dataset_id))) return nothing @@ -789,11 +789,11 @@ end See `libhdf5` documentation for [`H5Dread_chunk`](https://portal.hdfgroup.org/display/HDF5/H5D_READ_CHUNK). """ function h5d_read_chunk(dset, dxpl_id, offset, filters, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dread_chunk, libhdf5), herr_t, (hid_t, hid_t, Ptr{hsize_t}, Ptr{UInt32}, Ptr{Cvoid}), dset, dxpl_id, offset, filters, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error reading chunk") return nothing @@ -805,11 +805,11 @@ end See `libhdf5` documentation for [`H5Drefresh`](https://portal.hdfgroup.org/display/HDF5/H5D_REFRESH). """ function h5d_refresh(dataset_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Drefresh, libhdf5), herr_t, (hid_t,), dataset_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error refreshing dataset") return nothing @@ -821,11 +821,11 @@ end See `libhdf5` documentation for [`H5Dscatter`](https://portal.hdfgroup.org/display/HDF5/H5D_SCATTER). """ function h5d_scatter(op, op_data, type_id, dst_space_id, dst_buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dscatter, libhdf5), herr_t, (Ptr{Cvoid}, Any, hid_t, hid_t, Ptr{Cvoid}), op, op_data, type_id, dst_space_id, dst_buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error scattering to dataset") return nothing @@ -837,11 +837,11 @@ end See `libhdf5` documentation for [`H5Dset_extent`](https://portal.hdfgroup.org/display/HDF5/H5D_SET_EXTENT). """ function h5d_set_extent(dataset_id, new_dims) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dset_extent, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), dataset_id, new_dims) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error extending dataset dimensions") return nothing @@ -853,11 +853,11 @@ end See `libhdf5` documentation for [`H5Dvlen_get_buf_size`](https://portal.hdfgroup.org/display/HDF5/H5D_VLEN_GET_BUF_SIZE). """ function h5d_vlen_get_buf_size(dset_id, type_id, space_id, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dvlen_get_buf_size, libhdf5), herr_t, (hid_t, hid_t, hid_t, Ptr{hsize_t}), dset_id, type_id, space_id, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting vlen buffer size") return nothing @@ -869,11 +869,11 @@ end See `libhdf5` documentation for [`H5Dvlen_reclaim`](https://portal.hdfgroup.org/display/HDF5/H5D_VLEN_RECLAIM). """ function h5d_vlen_reclaim(type_id, space_id, plist_id, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dvlen_reclaim, libhdf5), herr_t, (hid_t, hid_t, hid_t, Ptr{Cvoid}), type_id, space_id, plist_id, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error reclaiming vlen buffer") return nothing @@ -885,11 +885,11 @@ end See `libhdf5` documentation for [`H5Dwrite`](https://portal.hdfgroup.org/display/HDF5/H5D_WRITE). """ function h5d_write(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dwrite, libhdf5), herr_t, (hid_t, hid_t, hid_t, hid_t, hid_t, Ptr{Cvoid}), dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing dataset") return nothing @@ -901,11 +901,11 @@ end See `libhdf5` documentation for [`H5Dwrite_chunk`](https://portal.hdfgroup.org/display/HDF5/H5D_WRITE_CHUNK). """ function h5d_write_chunk(dset_id, dxpl_id, filter_mask, offset, bufsize, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Dwrite_chunk, libhdf5), herr_t, (hid_t, hid_t, UInt32, Ptr{hsize_t}, Csize_t, Ptr{Cvoid}), dset_id, dxpl_id, filter_mask, offset, bufsize, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing chunk") return nothing @@ -917,11 +917,11 @@ end See `libhdf5` documentation for [`H5Eget_auto2`](https://portal.hdfgroup.org/display/HDF5/H5E_GET_AUTO2). """ function h5e_get_auto(estack_id, func, client_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Eget_auto2, libhdf5), herr_t, (hid_t, Ref{Ptr{Cvoid}}, Ref{Ptr{Cvoid}}), estack_id, func, client_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting error reporting behavior") return nothing @@ -933,11 +933,11 @@ end See `libhdf5` documentation for [`H5Eset_auto2`](https://portal.hdfgroup.org/display/HDF5/H5E_SET_AUTO2). """ function h5e_set_auto(estack_id, func, client_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Eset_auto2, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, Ptr{Cvoid}), estack_id, func, client_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting error reporting behavior") return nothing @@ -949,11 +949,11 @@ end See `libhdf5` documentation for [`H5Eget_current_stack`](https://portal.hdfgroup.org/display/HDF5/H5E_GET_CURRENT_STACK). """ function h5e_get_current_stack() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Eget_current_stack, libhdf5), hid_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to return current error stack") return var"#status#" @@ -965,11 +965,11 @@ end See `libhdf5` documentation for [`H5Eget_msg`](https://portal.hdfgroup.org/display/HDF5/H5E_GET_MSG). """ function h5e_get_msg(mesg_id, mesg_type, mesg, len) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Eget_msg, libhdf5), Cssize_t, (hid_t, Ref{Cint}, Ref{UInt8}, Csize_t), mesg_id, mesg_type, mesg, len) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting message") return var"#status#" @@ -981,11 +981,11 @@ end See `libhdf5` documentation for [`H5Eget_num`](https://portal.hdfgroup.org/display/HDF5/H5E_GET_NUM). """ function h5e_get_num(estack_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Eget_num, libhdf5), Cssize_t, (hid_t,), estack_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting stack length") return var"#status#" @@ -997,11 +997,11 @@ end See `libhdf5` documentation for [`H5Eclose_stack`](https://portal.hdfgroup.org/display/HDF5/H5E_CLOSE_STACK). """ function h5e_close_stack(stack_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Eclose_stack, libhdf5), herr_t, (hid_t,), stack_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing stack") return nothing @@ -1013,11 +1013,11 @@ end See `libhdf5` documentation for [`H5Ewalk2`](https://portal.hdfgroup.org/display/HDF5/H5E_WALK2). """ function h5e_walk(stack_id, direction, op, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Ewalk2, libhdf5), herr_t, (hid_t, Cint, Ptr{Cvoid}, Any), stack_id, direction, op, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error walking stack") return nothing @@ -1029,11 +1029,11 @@ end See `libhdf5` documentation for [`H5Fclear_elink_file_cache`](https://portal.hdfgroup.org/display/HDF5/H5F_CLEAR_ELINK_FILE_CACHE). """ function h5f_clear_elink_file_cache(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fclear_elink_file_cache, libhdf5), herr_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_clear_elink_file_cache (not annotated)") return nothing @@ -1045,11 +1045,11 @@ end See `libhdf5` documentation for [`H5Fclose`](https://portal.hdfgroup.org/display/HDF5/H5F_CLOSE). """ function h5f_close(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fclose, libhdf5), herr_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing file") return nothing @@ -1061,11 +1061,11 @@ end See `libhdf5` documentation for [`H5Fcreate`](https://portal.hdfgroup.org/display/HDF5/H5F_CREATE). """ function h5f_create(pathname, flags, fcpl_id, fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fcreate, libhdf5), hid_t, (Ptr{UInt8}, Cuint, hid_t, hid_t), pathname, flags, fcpl_id, fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating file $(pathname)") return var"#status#" @@ -1077,11 +1077,11 @@ end See `libhdf5` documentation for [`H5Fdelete`](https://portal.hdfgroup.org/display/HDF5/H5F_DELETE). """ function h5f_delete(filename, fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fdelete, libhdf5), herr_t, (Ptr{Cchar}, hid_t), filename, fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_delete (not annotated)") return nothing @@ -1093,11 +1093,11 @@ end See `libhdf5` documentation for [`H5Fflush`](https://portal.hdfgroup.org/display/HDF5/H5F_FLUSH). """ function h5f_flush(object_id, scope) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fflush, libhdf5), herr_t, (hid_t, Cint), object_id, scope) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error flushing object to file") return nothing @@ -1109,11 +1109,11 @@ end See `libhdf5` documentation for [`H5Fformat_convert`](https://portal.hdfgroup.org/display/HDF5/H5F_FORMAT_CONVERT). """ function h5f_format_convert(fid) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fformat_convert, libhdf5), herr_t, (hid_t,), fid) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_format_convert (not annotated)") return nothing @@ -1125,11 +1125,11 @@ end See `libhdf5` documentation for [`H5Fget_access_plist`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_ACCESS_PLIST). """ function h5f_get_access_plist(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_access_plist, libhdf5), hid_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file access property list") return var"#status#" @@ -1141,11 +1141,11 @@ end See `libhdf5` documentation for [`H5Fget_create_plist`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_CREATE_PLIST). """ function h5f_get_create_plist(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_create_plist, libhdf5), hid_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file create property list") return var"#status#" @@ -1157,11 +1157,11 @@ end See `libhdf5` documentation for [`H5Fget_dset_no_attrs_hint`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_DSET_NO_ATTRS_HINT). """ function h5f_get_dset_no_attrs_hint(file_id, minimize) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_dset_no_attrs_hint, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), file_id, minimize) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dataset no attributes hint") return nothing @@ -1173,11 +1173,11 @@ end See `libhdf5` documentation for [`H5Fget_eoa`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_EOA). """ function h5f_get_eoa(file_id, eoa) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_eoa, libhdf5), herr_t, (hid_t, Ptr{haddr_t}), file_id, eoa) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_eoa (not annotated)") return nothing @@ -1189,11 +1189,11 @@ end See `libhdf5` documentation for [`H5Fget_file_image`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FILE_IMAGE). """ function h5f_get_file_image(file_id, buf_ptr, buf_len) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_file_image, libhdf5), Cssize_t, (hid_t, Ptr{Cvoid}, Csize_t), file_id, buf_ptr, buf_len) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_file_image (not annotated)") return var"#status#" @@ -1205,11 +1205,11 @@ end See `libhdf5` documentation for [`H5Fget_fileno`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FILENO). """ function h5f_get_fileno(file_id, fileno) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_fileno, libhdf5), herr_t, (hid_t, Ptr{Culong}), file_id, fileno) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_fileno (not annotated)") return nothing @@ -1221,11 +1221,11 @@ end See `libhdf5` documentation for [`H5Fget_filesize`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FILESIZE). """ function h5f_get_filesize(file_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_filesize, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), file_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_filesize (not annotated)") return nothing @@ -1237,11 +1237,11 @@ end See `libhdf5` documentation for [`H5Fget_free_sections`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FREE_SECTIONS). """ function h5f_get_free_sections(file_id, type, nsects, sect_info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_free_sections, libhdf5), Cssize_t, (hid_t, H5F_mem_t, Csize_t, Ptr{H5F_sect_info_t}), file_id, type, nsects, sect_info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_free_sections (not annotated)") return var"#status#" @@ -1253,11 +1253,11 @@ end See `libhdf5` documentation for [`H5Fget_freespace`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_FREESPACE). """ function h5f_get_freespace(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_freespace, libhdf5), hssize_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_freespace (not annotated)") return var"#status#" @@ -1269,11 +1269,11 @@ end See `libhdf5` documentation for [`H5Fget_intent`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_INTENT). """ function h5f_get_intent(file_id, intent) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_intent, libhdf5), herr_t, (hid_t, Ptr{Cuint}), file_id, intent) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file intent") return nothing @@ -1285,11 +1285,11 @@ end See `libhdf5` documentation for [`H5Fget_info2`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_INFO2). """ function h5f_get_info(obj_id, file_info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_info2, libhdf5), herr_t, (hid_t, Ptr{H5F_info2_t}), obj_id, file_info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_info2 (not annotated)") return nothing @@ -1301,11 +1301,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_config`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_CONFIG). """ function h5f_get_mdc_config(file_id, config_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_config_t}), file_id, config_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_config (not annotated)") return nothing @@ -1317,11 +1317,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_hit_rate`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_HIT_RATE). """ function h5f_get_mdc_hit_rate(file_id, hit_rate_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_hit_rate, libhdf5), herr_t, (hid_t, Ptr{Cdouble}), file_id, hit_rate_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_hit_rate (not annotated)") return nothing @@ -1333,11 +1333,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_image_info`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_IMAGE_INFO). """ function h5f_get_mdc_image_info(file_id, image_addr, image_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_image_info, libhdf5), herr_t, (hid_t, Ptr{haddr_t}, Ptr{hsize_t}), file_id, image_addr, image_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_image_info (not annotated)") return nothing @@ -1349,11 +1349,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_logging_status`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_LOGGING_STATUS). """ function h5f_get_mdc_logging_status(file_id, is_enabled, is_currently_logging) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_logging_status, libhdf5), herr_t, (hid_t, Ptr{hbool_t}, Ptr{hbool_t}), file_id, is_enabled, is_currently_logging) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_logging_status (not annotated)") return nothing @@ -1365,11 +1365,11 @@ end See `libhdf5` documentation for [`H5Fget_mdc_size`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MDC_SIZE). """ function h5f_get_mdc_size(file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_mdc_size, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cint}), file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mdc_size (not annotated)") return nothing @@ -1381,11 +1381,11 @@ end See `libhdf5` documentation for [`H5Fget_metadata_read_retry_info`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_METADATA_READ_RETRY_INFO). """ function h5f_get_metadata_read_retry_info(file_id, info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_metadata_read_retry_info, libhdf5), herr_t, (hid_t, Ptr{H5F_retry_info_t}), file_id, info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_metadata_read_retry_info (not annotated)") return nothing @@ -1397,11 +1397,11 @@ end See `libhdf5` documentation for [`H5Fget_mpi_atomicity`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_MPI_ATOMICITY). """ function h5f_get_mpi_atomicity(file_id, flag) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_mpi_atomicity, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), file_id, flag) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_mpi_atomicity (not annotated)") return nothing @@ -1413,11 +1413,11 @@ end See `libhdf5` documentation for [`H5Fget_name`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_NAME). """ function h5f_get_name(obj_id, buf, buf_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_name, libhdf5), Cssize_t, (hid_t, Ptr{UInt8}, Csize_t), obj_id, buf, buf_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file name") return var"#status#" @@ -1429,11 +1429,11 @@ end See `libhdf5` documentation for [`H5Fget_obj_count`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_OBJ_COUNT). """ function h5f_get_obj_count(file_id, types) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_obj_count, libhdf5), Cssize_t, (hid_t, Cuint), file_id, types) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object count") return var"#status#" @@ -1445,11 +1445,11 @@ end See `libhdf5` documentation for [`H5Fget_obj_ids`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_OBJ_IDS). """ function h5f_get_obj_ids(file_id, types, max_objs, obj_id_list) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_obj_ids, libhdf5), Cssize_t, (hid_t, Cuint, Csize_t, Ptr{hid_t}), file_id, types, max_objs, obj_id_list) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting objects") return var"#status#" @@ -1461,11 +1461,11 @@ end See `libhdf5` documentation for [`H5Fget_page_buffering_stats`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_PAGE_BUFFERING_STATS). """ function h5f_get_page_buffering_stats(file_id, accesses, hits, misses, evictions, bypasses) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_page_buffering_stats, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}), file_id, accesses, hits, misses, evictions, bypasses) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_get_page_buffering_stats (not annotated)") return nothing @@ -1477,11 +1477,11 @@ end See `libhdf5` documentation for [`H5Fget_vfd_handle`](https://portal.hdfgroup.org/display/HDF5/H5F_GET_VFD_HANDLE). """ function h5f_get_vfd_handle(file_id, fapl_id, file_handle) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fget_vfd_handle, libhdf5), herr_t, (hid_t, hid_t, Ref{Ptr{Cvoid}}), file_id, fapl_id, file_handle) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting VFD handle") return nothing @@ -1493,11 +1493,11 @@ end See `libhdf5` documentation for [`H5Fincrement_filesize`](https://portal.hdfgroup.org/display/HDF5/H5F_INCREMENT_FILESIZE). """ function h5f_increment_filesize(file_id, increment) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fincrement_filesize, libhdf5), herr_t, (hid_t, hsize_t), file_id, increment) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_increment_filesize (not annotated)") return nothing @@ -1509,11 +1509,11 @@ end See `libhdf5` documentation for [`H5Fis_accessible`](https://portal.hdfgroup.org/display/HDF5/H5F_IS_ACCESSIBLE). """ function h5f_is_accessible(container_name, fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fis_accessible, libhdf5), htri_t, (Ptr{Cchar}, hid_t), container_name, fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_is_accessible (not annotated)") return var"#status#" > 0 @@ -1525,11 +1525,11 @@ end See `libhdf5` documentation for [`H5Fis_hdf5`](https://portal.hdfgroup.org/display/HDF5/H5F_IS_HDF5). """ function h5f_is_hdf5(pathname) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fis_hdf5, libhdf5), htri_t, (Cstring,), pathname) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to access file $(pathname)") return var"#status#" > 0 @@ -1541,11 +1541,11 @@ end See `libhdf5` documentation for [`H5Fmount`](https://portal.hdfgroup.org/display/HDF5/H5F_MOUNT). """ function h5f_mount(loc, name, child, plist) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fmount, libhdf5), herr_t, (hid_t, Ptr{Cchar}, hid_t, hid_t), loc, name, child, plist) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_mount (not annotated)") return nothing @@ -1557,11 +1557,11 @@ end See `libhdf5` documentation for [`H5Fopen`](https://portal.hdfgroup.org/display/HDF5/H5F_OPEN). """ function h5f_open(pathname, flags, fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fopen, libhdf5), hid_t, (Cstring, Cuint, hid_t), pathname, flags, fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error opening file $(pathname)") return var"#status#" @@ -1573,11 +1573,11 @@ end See `libhdf5` documentation for [`H5Freopen`](https://portal.hdfgroup.org/display/HDF5/H5F_REOPEN). """ function h5f_reopen(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Freopen, libhdf5), hid_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_reopen (not annotated)") return var"#status#" @@ -1589,11 +1589,11 @@ end See `libhdf5` documentation for [`H5Freset_mdc_hit_rate_stats`](https://portal.hdfgroup.org/display/HDF5/H5F_RESET_MDC_HIT_RATE_STATS). """ function h5f_reset_mdc_hit_rate_stats(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Freset_mdc_hit_rate_stats, libhdf5), herr_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_reset_mdc_hit_rate_stats (not annotated)") return nothing @@ -1605,11 +1605,11 @@ end See `libhdf5` documentation for [`H5Freset_page_buffering_stats`](https://portal.hdfgroup.org/display/HDF5/H5F_RESET_PAGE_BUFFERING_STATS). """ function h5f_reset_page_buffering_stats(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Freset_page_buffering_stats, libhdf5), herr_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_reset_page_buffering_stats (not annotated)") return nothing @@ -1621,11 +1621,11 @@ end See `libhdf5` documentation for [`H5Fset_dset_no_attrs_hint`](https://portal.hdfgroup.org/display/HDF5/H5F_SET_DSET_NO_ATTRS_HINT). """ function h5f_set_dset_no_attrs_hint(file_id, minimize) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fset_dset_no_attrs_hint, libhdf5), herr_t, (hid_t, hbool_t), file_id, minimize) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in setting dataset no attributes hint") return nothing @@ -1637,11 +1637,11 @@ end See `libhdf5` documentation for [`H5Fset_libver_bounds`](https://portal.hdfgroup.org/display/HDF5/H5F_SET_LIBVER_BOUNDS). """ function h5f_set_libver_bounds(file_id, low, high) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fset_libver_bounds, libhdf5), herr_t, (hid_t, H5F_libver_t, H5F_libver_t), file_id, low, high) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_set_libver_bounds (not annotated)") return nothing @@ -1653,11 +1653,11 @@ end See `libhdf5` documentation for [`H5Fset_mdc_config`](https://portal.hdfgroup.org/display/HDF5/H5F_SET_MDC_CONFIG). """ function h5f_set_mdc_config(file_id, config_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fset_mdc_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_config_t}), file_id, config_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_set_mdc_config (not annotated)") return nothing @@ -1669,11 +1669,11 @@ end See `libhdf5` documentation for [`H5Fset_mpi_atomicity`](https://portal.hdfgroup.org/display/HDF5/H5F_SET_MPI_ATOMICITY). """ function h5f_set_mpi_atomicity(file_id, flag) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fset_mpi_atomicity, libhdf5), herr_t, (hid_t, hbool_t), file_id, flag) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_set_mpi_atomicity (not annotated)") return nothing @@ -1685,11 +1685,11 @@ end See `libhdf5` documentation for [`H5Fstart_mdc_logging`](https://portal.hdfgroup.org/display/HDF5/H5F_START_MDC_LOGGING). """ function h5f_start_mdc_logging(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fstart_mdc_logging, libhdf5), herr_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_start_mdc_logging (not annotated)") return nothing @@ -1701,11 +1701,11 @@ end See `libhdf5` documentation for [`H5Fstart_swmr_write`](https://portal.hdfgroup.org/display/HDF5/H5F_START_SWMR_WRITE). """ function h5f_start_swmr_write(id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fstart_swmr_write, libhdf5), herr_t, (hid_t,), id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error starting SWMR write") return nothing @@ -1717,11 +1717,11 @@ end See `libhdf5` documentation for [`H5Fstop_mdc_logging`](https://portal.hdfgroup.org/display/HDF5/H5F_STOP_MDC_LOGGING). """ function h5f_stop_mdc_logging(file_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Fstop_mdc_logging, libhdf5), herr_t, (hid_t,), file_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_stop_mdc_logging (not annotated)") return nothing @@ -1733,11 +1733,11 @@ end See `libhdf5` documentation for [`H5Funmount`](https://portal.hdfgroup.org/display/HDF5/H5F_UNMOUNT). """ function h5f_unmount(loc, name) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Funmount, libhdf5), herr_t, (hid_t, Ptr{Cchar}), loc, name) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5f_unmount (not annotated)") return nothing @@ -1749,11 +1749,11 @@ end See `libhdf5` documentation for [`H5Gclose`](https://portal.hdfgroup.org/display/HDF5/H5G_CLOSE). """ function h5g_close(group_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Gclose, libhdf5), herr_t, (hid_t,), group_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing group") return nothing @@ -1765,11 +1765,11 @@ end See `libhdf5` documentation for [`H5Gcreate2`](https://portal.hdfgroup.org/display/HDF5/H5G_CREATE2). """ function h5g_create(loc_id, pathname, lcpl_id, gcpl_id, gapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Gcreate2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t, hid_t, hid_t), loc_id, pathname, lcpl_id, gcpl_id, gapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating group $(h5i_get_name(loc_id))/$(pathname)") return var"#status#" @@ -1781,11 +1781,11 @@ end See `libhdf5` documentation for [`H5Gget_create_plist`](https://portal.hdfgroup.org/display/HDF5/H5G_GET_CREATE_PLIST). """ function h5g_get_create_plist(group_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Gget_create_plist, libhdf5), hid_t, (hid_t,), group_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting group create property list") return var"#status#" @@ -1797,11 +1797,11 @@ end See `libhdf5` documentation for [`H5Gget_info`](https://portal.hdfgroup.org/display/HDF5/H5G_GET_INFO). """ function h5g_get_info(group_id, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Gget_info, libhdf5), herr_t, (hid_t, Ptr{H5G_info_t}), group_id, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting group info") return nothing @@ -1813,11 +1813,11 @@ end See `libhdf5` documentation for [`H5Gget_num_objs`](https://portal.hdfgroup.org/display/HDF5/H5G_GET_NUM_OBJS). """ function h5g_get_num_objs(loc_id, num_obj) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Gget_num_objs, libhdf5), hid_t, (hid_t, Ptr{hsize_t}), loc_id, num_obj) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting group length") return var"#status#" @@ -1829,11 +1829,11 @@ end See `libhdf5` documentation for [`H5Gget_objname_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5G_GET_OBJNAME_BY_IDX). """ function h5g_get_objname_by_idx(loc_id, idx, pathname, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Gget_objname_by_idx, libhdf5), Cssize_t, (hid_t, hsize_t, Ptr{UInt8}, Csize_t), loc_id, idx, pathname, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting group object name $(h5i_get_name(loc_id))/$(pathname)") return var"#status#" @@ -1845,11 +1845,11 @@ end See `libhdf5` documentation for [`H5Gopen2`](https://portal.hdfgroup.org/display/HDF5/H5G_OPEN2). """ function h5g_open(loc_id, pathname, gapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Gopen2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, pathname, gapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error opening group $(h5i_get_name(loc_id))/$(pathname)") return var"#status#" @@ -1861,11 +1861,11 @@ end See `libhdf5` documentation for [`H5Idec_ref`](https://portal.hdfgroup.org/display/HDF5/H5I_DEC_REF). """ function h5i_dec_ref(obj_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Idec_ref, libhdf5), Cint, (hid_t,), obj_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error decementing reference") return Int(var"#status#") @@ -1877,11 +1877,11 @@ end See `libhdf5` documentation for [`H5Iget_file_id`](https://portal.hdfgroup.org/display/HDF5/H5I_GET_FILE_ID). """ function h5i_get_file_id(obj_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Iget_file_id, libhdf5), hid_t, (hid_t,), obj_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting file identifier") return var"#status#" @@ -1893,11 +1893,11 @@ end See `libhdf5` documentation for [`H5Iget_name`](https://portal.hdfgroup.org/display/HDF5/H5I_GET_NAME). """ function h5i_get_name(obj_id, buf, buf_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Iget_name, libhdf5), Cssize_t, (hid_t, Ptr{UInt8}, Csize_t), obj_id, buf, buf_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object name") return var"#status#" @@ -1909,11 +1909,11 @@ end See `libhdf5` documentation for [`H5Iget_ref`](https://portal.hdfgroup.org/display/HDF5/H5I_GET_REF). """ function h5i_get_ref(obj_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Iget_ref, libhdf5), Cint, (hid_t,), obj_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting reference count") return Int(var"#status#") @@ -1925,11 +1925,11 @@ end See `libhdf5` documentation for [`H5Iget_type`](https://portal.hdfgroup.org/display/HDF5/H5I_GET_TYPE). """ function h5i_get_type(obj_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Iget_type, libhdf5), Cint, (hid_t,), obj_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting type") return Int(var"#status#") @@ -1941,11 +1941,11 @@ end See `libhdf5` documentation for [`H5Iinc_ref`](https://portal.hdfgroup.org/display/HDF5/H5I_INC_REF). """ function h5i_inc_ref(obj_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Iinc_ref, libhdf5), Cint, (hid_t,), obj_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error incrementing identifier refcount") return Int(var"#status#") @@ -1957,11 +1957,11 @@ end See `libhdf5` documentation for [`H5Iis_valid`](https://portal.hdfgroup.org/display/HDF5/H5I_IS_VALID). """ function h5i_is_valid(obj_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Iis_valid, libhdf5), htri_t, (hid_t,), obj_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Cannot determine whether object is valid") return var"#status#" > 0 @@ -1973,11 +1973,11 @@ end See `libhdf5` documentation for [`H5Lcreate_external`](https://portal.hdfgroup.org/display/HDF5/H5L_CREATE_EXTERNAL). """ function h5l_create_external(target_file_name, target_obj_name, link_loc_id, link_name, lcpl_id, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Lcreate_external, libhdf5), herr_t, (Ptr{UInt8}, Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), target_file_name, target_obj_name, link_loc_id, link_name, lcpl_id, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating external link ", link_name, " pointing to ", target_obj_name, " in file ", target_file_name)) return nothing @@ -1989,11 +1989,11 @@ end See `libhdf5` documentation for [`H5Lcreate_hard`](https://portal.hdfgroup.org/display/HDF5/H5L_CREATE_HARD). """ function h5l_create_hard(obj_loc_id, obj_name, link_loc_id, link_name, lcpl_id, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Lcreate_hard, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), obj_loc_id, obj_name, link_loc_id, link_name, lcpl_id, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating hard link ", link_name, " pointing to ", obj_name)) return nothing @@ -2005,11 +2005,11 @@ end See `libhdf5` documentation for [`H5Lcreate_soft`](https://portal.hdfgroup.org/display/HDF5/H5L_CREATE_SOFT). """ function h5l_create_soft(target_path, link_loc_id, link_name, lcpl_id, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Lcreate_soft, libhdf5), herr_t, (Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), target_path, link_loc_id, link_name, lcpl_id, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating soft link ", link_name, " pointing to ", target_path)) return nothing @@ -2021,11 +2021,11 @@ end See `libhdf5` documentation for [`H5Ldelete`](https://portal.hdfgroup.org/display/HDF5/H5L_DELETE). """ function h5l_delete(obj_id, pathname, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Ldelete, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t), obj_id, pathname, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error deleting ", h5i_get_name(obj_id), "/", pathname)) return nothing @@ -2037,11 +2037,11 @@ end See `libhdf5` documentation for [`H5Lmove`](https://portal.hdfgroup.org/display/HDF5/H5L_MOVE). """ function h5l_move(src_obj_id, src_name, dest_obj_id, dest_name, lcpl_id, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Lmove, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), src_obj_id, src_name, dest_obj_id, dest_name, lcpl_id, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error moving ", h5i_get_name(src_obj_id), "/", src_name, " to ", h5i_get_name(dest_obj_id), "/", dest_name)) return nothing @@ -2053,11 +2053,11 @@ end See `libhdf5` documentation for [`H5Lexists`](https://portal.hdfgroup.org/display/HDF5/H5L_EXISTS). """ function h5l_exists(loc_id, pathname, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Lexists, libhdf5), htri_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, pathname, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Cannot determine whether ", pathname, " exists")) return var"#status#" > 0 @@ -2069,11 +2069,11 @@ end See `libhdf5` documentation for [`H5Lget_info`](https://portal.hdfgroup.org/display/HDF5/H5L_GET_INFO). """ function h5l_get_info(link_loc_id, link_name, link_buf, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Lget_info, libhdf5), herr_t, (hid_t, Ptr{UInt8}, Ptr{H5L_info_t}, hid_t), link_loc_id, link_name, link_buf, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting info for link ", link_name)) return nothing @@ -2085,11 +2085,11 @@ end See `libhdf5` documentation for [`H5Lget_name_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5L_GET_NAME_BY_IDX). """ function h5l_get_name_by_idx(loc_id, group_name, index_field, order, n, name, size, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Lget_name_by_idx, libhdf5), Cssize_t, (hid_t, Ptr{UInt8}, Cint, Cint, hsize_t, Ptr{UInt8}, Csize_t, hid_t), loc_id, group_name, index_field, order, n, name, size, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object name") return var"#status#" @@ -2102,11 +2102,11 @@ end See `libhdf5` documentation for [`H5Literate`](https://portal.hdfgroup.org/display/HDF5/H5L_ITERATE). """ function h5l_iterate(group_id, idx_type, order, idx, op, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Literate, libhdf5), herr_t, (hid_t, Cint, Cint, Ptr{hsize_t}, Ptr{Cvoid}, Any), group_id, idx_type, order, idx, op, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error iterating through links in group ", h5i_get_name(group_id))) return nothing @@ -2120,11 +2120,11 @@ end See `libhdf5` documentation for [`H5Literate1`](https://portal.hdfgroup.org/display/HDF5/H5L_ITERATE1). """ function h5l_iterate(group_id, idx_type, order, idx, op, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Literate1, libhdf5), herr_t, (hid_t, Cint, Cint, Ptr{hsize_t}, Ptr{Cvoid}, Any), group_id, idx_type, order, idx, op, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error iterating through links in group ", h5i_get_name(group_id))) return nothing @@ -2137,11 +2137,11 @@ end See `libhdf5` documentation for [`H5Oare_mdc_flushes_disabled`](https://portal.hdfgroup.org/display/HDF5/H5O_ARE_MDC_FLUSHES_DISABLED). """ function h5o_are_mdc_flushes_disabled(object_id, are_disabled) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oare_mdc_flushes_disabled, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), object_id, are_disabled) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_are_mdc_flushes_disabled (not annotated)") return nothing @@ -2153,11 +2153,11 @@ end See `libhdf5` documentation for [`H5Oclose`](https://portal.hdfgroup.org/display/HDF5/H5O_CLOSE). """ function h5o_close(object_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oclose, libhdf5), herr_t, (hid_t,), object_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing object") return nothing @@ -2169,11 +2169,11 @@ end See `libhdf5` documentation for [`H5Ocopy`](https://portal.hdfgroup.org/display/HDF5/H5O_COPY). """ function h5o_copy(src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Ocopy, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t, Ptr{UInt8}, hid_t, hid_t), src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error copying object ", h5i_get_name(src_loc_id), "/", src_name, " to ", h5i_get_name(dst_loc_id), "/", dst_name)) return nothing @@ -2185,11 +2185,11 @@ end See `libhdf5` documentation for [`H5Odecr_refcount`](https://portal.hdfgroup.org/display/HDF5/H5O_DECR_REFCOUNT). """ function h5o_decr_refcount(object_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Odecr_refcount, libhdf5), herr_t, (hid_t,), object_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_decr_refcount (not annotated)") return nothing @@ -2201,11 +2201,11 @@ end See `libhdf5` documentation for [`H5Odisable_mdc_flushes`](https://portal.hdfgroup.org/display/HDF5/H5O_DISABLE_MDC_FLUSHES). """ function h5o_disable_mdc_flushes(object_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Odisable_mdc_flushes, libhdf5), herr_t, (hid_t,), object_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_disable_mdc_flushes (not annotated)") return nothing @@ -2217,11 +2217,11 @@ end See `libhdf5` documentation for [`H5Oenable_mdc_flushes`](https://portal.hdfgroup.org/display/HDF5/H5O_ENABLE_MDC_FLUSHES). """ function h5o_enable_mdc_flushes(object_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oenable_mdc_flushes, libhdf5), herr_t, (hid_t,), object_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_enable_mdc_flushes (not annotated)") return nothing @@ -2233,11 +2233,11 @@ end See `libhdf5` documentation for [`H5Oexists_by_name`](https://portal.hdfgroup.org/display/HDF5/H5O_EXISTS_BY_NAME). """ function h5o_exists_by_name(loc_id, name, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oexists_by_name, libhdf5), htri_t, (hid_t, Ptr{Cchar}, hid_t), loc_id, name, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_exists_by_name (not annotated)") return var"#status#" > 0 @@ -2249,11 +2249,11 @@ end See `libhdf5` documentation for [`H5Oflush`](https://portal.hdfgroup.org/display/HDF5/H5O_FLUSH). """ function h5o_flush(obj_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oflush, libhdf5), herr_t, (hid_t,), obj_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_flush (not annotated)") return nothing @@ -2265,11 +2265,11 @@ end See `libhdf5` documentation for [`H5Oget_comment`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_COMMENT). """ function h5o_get_comment(obj_id, comment, bufsize) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_comment, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Csize_t), obj_id, comment, bufsize) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_comment (not annotated)") return var"#status#" @@ -2281,11 +2281,11 @@ end See `libhdf5` documentation for [`H5Oget_comment_by_name`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_COMMENT_BY_NAME). """ function h5o_get_comment_by_name(loc_id, name, comment, bufsize, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_comment_by_name, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Ptr{Cchar}, Csize_t, hid_t), loc_id, name, comment, bufsize, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_comment_by_name (not annotated)") return var"#status#" @@ -2298,11 +2298,11 @@ end See `libhdf5` documentation for [`H5Oget_info1`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO1). """ function h5o_get_info(object_id, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_info1, libhdf5), herr_t, (hid_t, Ptr{H5O_info1_t}), object_id, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object info") return nothing @@ -2316,11 +2316,11 @@ end See `libhdf5` documentation for [`H5Oget_info2`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO2). """ function h5o_get_info(loc_id, oinfo, fields) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_info2, libhdf5), herr_t, (hid_t, Ptr{H5O_info1_t}, Cuint), loc_id, oinfo, fields) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info2 (not annotated)") return nothing @@ -2334,11 +2334,11 @@ end See `libhdf5` documentation for [`H5Oget_info3`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO3). """ function h5o_get_info(loc_id, oinfo, fields) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_info3, libhdf5), herr_t, (hid_t, Ptr{H5O_info2_t}, Cuint), loc_id, oinfo, fields) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info3 (not annotated)") return nothing @@ -2352,11 +2352,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_idx1`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_IDX1). """ function h5o_get_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_idx1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, hsize_t, Ptr{H5O_info1_t}, hid_t), loc_id, group_name, idx_type, order, n, oinfo, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_idx1 (not annotated)") return nothing @@ -2370,11 +2370,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_idx2`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_IDX2). """ function h5o_get_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_idx2, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, hsize_t, Ptr{H5O_info1_t}, Cuint, hid_t), loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_idx2 (not annotated)") return nothing @@ -2388,11 +2388,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_idx3`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_IDX3). """ function h5o_get_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_idx3, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, hsize_t, Ptr{H5O_info2_t}, Cuint, hid_t), loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_idx3 (not annotated)") return nothing @@ -2406,11 +2406,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_name1`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_NAME1). """ function h5o_get_info_by_name(loc_id, name, oinfo, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_name1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_info1_t}, hid_t), loc_id, name, oinfo, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_name1 (not annotated)") return nothing @@ -2424,11 +2424,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_name2`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_NAME2). """ function h5o_get_info_by_name(loc_id, name, oinfo, fields, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_name2, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_info1_t}, Cuint, hid_t), loc_id, name, oinfo, fields, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_name2 (not annotated)") return nothing @@ -2442,11 +2442,11 @@ end See `libhdf5` documentation for [`H5Oget_info_by_name3`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_INFO_BY_NAME3). """ function h5o_get_info_by_name(loc_id, name, oinfo, fields, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_info_by_name3, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_info2_t}, Cuint, hid_t), loc_id, name, oinfo, fields, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_info_by_name3 (not annotated)") return nothing @@ -2459,11 +2459,11 @@ end See `libhdf5` documentation for [`H5Oget_native_info`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_NATIVE_INFO). """ function h5o_get_native_info(loc_id, oinfo, fields) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_native_info, libhdf5), herr_t, (hid_t, Ptr{H5O_native_info_t}, Cuint), loc_id, oinfo, fields) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_native_info (not annotated)") return nothing @@ -2475,11 +2475,11 @@ end See `libhdf5` documentation for [`H5Oget_native_info_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_NATIVE_INFO_BY_IDX). """ function h5o_get_native_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_native_info_by_idx, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, hsize_t, Ptr{H5O_native_info_t}, Cuint, hid_t), loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_native_info_by_idx (not annotated)") return nothing @@ -2491,11 +2491,11 @@ end See `libhdf5` documentation for [`H5Oget_native_info_by_name`](https://portal.hdfgroup.org/display/HDF5/H5O_GET_NATIVE_INFO_BY_NAME). """ function h5o_get_native_info_by_name(loc_id, name, oinfo, fields, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oget_native_info_by_name, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_native_info_t}, Cuint, hid_t), loc_id, name, oinfo, fields, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_get_native_info_by_name (not annotated)") return nothing @@ -2507,11 +2507,11 @@ end See `libhdf5` documentation for [`H5Oincr_refcount`](https://portal.hdfgroup.org/display/HDF5/H5O_INCR_REFCOUNT). """ function h5o_incr_refcount(object_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oincr_refcount, libhdf5), herr_t, (hid_t,), object_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_incr_refcount (not annotated)") return nothing @@ -2523,11 +2523,11 @@ end See `libhdf5` documentation for [`H5Olink`](https://portal.hdfgroup.org/display/HDF5/H5O_LINK). """ function h5o_link(obj_id, new_loc_id, new_name, lcpl_id, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Olink, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cchar}, hid_t, hid_t), obj_id, new_loc_id, new_name, lcpl_id, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_link (not annotated)") return nothing @@ -2539,11 +2539,11 @@ end See `libhdf5` documentation for [`H5Oopen`](https://portal.hdfgroup.org/display/HDF5/H5O_OPEN). """ function h5o_open(loc_id, pathname, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oopen, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, pathname, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening object ", h5i_get_name(loc_id), "/", pathname)) return var"#status#" @@ -2555,11 +2555,11 @@ end See `libhdf5` documentation for [`H5Oopen_by_addr`](https://portal.hdfgroup.org/display/HDF5/H5O_OPEN_BY_ADDR). """ function h5o_open_by_addr(loc_id, addr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oopen_by_addr, libhdf5), hid_t, (hid_t, haddr_t), loc_id, addr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error opening object by address") return var"#status#" @@ -2571,11 +2571,11 @@ end See `libhdf5` documentation for [`H5Oopen_by_idx`](https://portal.hdfgroup.org/display/HDF5/H5O_OPEN_BY_IDX). """ function h5o_open_by_idx(loc_id, group_name, index_type, order, n, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oopen_by_idx, libhdf5), hid_t, (hid_t, Ptr{UInt8}, Cint, Cint, hsize_t, hid_t), loc_id, group_name, index_type, order, n, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening object of index ", n)) return var"#status#" @@ -2587,11 +2587,11 @@ end See `libhdf5` documentation for [`H5Orefresh`](https://portal.hdfgroup.org/display/HDF5/H5O_REFRESH). """ function h5o_refresh(oid) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Orefresh, libhdf5), herr_t, (hid_t,), oid) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_refresh (not annotated)") return nothing @@ -2603,11 +2603,11 @@ end See `libhdf5` documentation for [`H5Oset_comment`](https://portal.hdfgroup.org/display/HDF5/H5O_SET_COMMENT). """ function h5o_set_comment(obj_id, comment) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oset_comment, libhdf5), herr_t, (hid_t, Ptr{Cchar}), obj_id, comment) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_set_comment (not annotated)") return nothing @@ -2619,11 +2619,11 @@ end See `libhdf5` documentation for [`H5Oset_comment_by_name`](https://portal.hdfgroup.org/display/HDF5/H5O_SET_COMMENT_BY_NAME). """ function h5o_set_comment_by_name(loc_id, name, comment, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Oset_comment_by_name, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{Cchar}, hid_t), loc_id, name, comment, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_set_comment_by_name (not annotated)") return nothing @@ -2635,11 +2635,11 @@ end See `libhdf5` documentation for [`H5Otoken_cmp`](https://portal.hdfgroup.org/display/HDF5/H5O_TOKEN_CMP). """ function h5o_token_cmp(loc_id, token1, token2, cmp_value) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Otoken_cmp, libhdf5), herr_t, (hid_t, Ptr{H5O_token_t}, Ptr{H5O_token_t}, Ptr{Cint}), loc_id, token1, token2, cmp_value) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_token_cmp (not annotated)") return nothing @@ -2651,11 +2651,11 @@ end See `libhdf5` documentation for [`H5Otoken_from_str`](https://portal.hdfgroup.org/display/HDF5/H5O_TOKEN_FROM_STR). """ function h5o_token_from_str(loc_id, token_str, token) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Otoken_from_str, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{H5O_token_t}), loc_id, token_str, token) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_token_from_str (not annotated)") return nothing @@ -2667,11 +2667,11 @@ end See `libhdf5` documentation for [`H5Otoken_to_str`](https://portal.hdfgroup.org/display/HDF5/H5O_TOKEN_TO_STR). """ function h5o_token_to_str(loc_id, token, token_str) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Otoken_to_str, libhdf5), herr_t, (hid_t, Ptr{H5O_token_t}, Ptr{Ptr{Cchar}}), loc_id, token, token_str) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_token_to_str (not annotated)") return nothing @@ -2684,11 +2684,11 @@ end See `libhdf5` documentation for [`H5Ovisit1`](https://portal.hdfgroup.org/display/HDF5/H5O_VISIT1). """ function h5o_visit(obj_id, idx_type, order, op, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Ovisit1, libhdf5), herr_t, (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate1_t, Ptr{Cvoid}), obj_id, idx_type, order, op, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_visit1 (not annotated)") return nothing @@ -2702,11 +2702,11 @@ end See `libhdf5` documentation for [`H5Ovisit3`](https://portal.hdfgroup.org/display/HDF5/H5O_VISIT3). """ function h5o_visit(obj_id, idx_type, order, op, op_data, fields) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Ovisit3, libhdf5), herr_t, (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate2_t, Ptr{Cvoid}, Cuint), obj_id, idx_type, order, op, op_data, fields) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_visit3 (not annotated)") return nothing @@ -2720,11 +2720,11 @@ end See `libhdf5` documentation for [`H5Ovisit_by_name1`](https://portal.hdfgroup.org/display/HDF5/H5O_VISIT_BY_NAME1). """ function h5o_visit_by_name(loc_id, obj_name, idx_type, order, op, op_data, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Ovisit_by_name1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, H5O_iterate1_t, Ptr{Cvoid}, hid_t), loc_id, obj_name, idx_type, order, op, op_data, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_visit_by_name1 (not annotated)") return nothing @@ -2738,11 +2738,11 @@ end See `libhdf5` documentation for [`H5Ovisit_by_name3`](https://portal.hdfgroup.org/display/HDF5/H5O_VISIT_BY_NAME3). """ function h5o_visit_by_name(loc_id, obj_name, idx_type, order, op, op_data, fields, lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Ovisit_by_name3, libhdf5), herr_t, (hid_t, Ptr{Cchar}, H5_index_t, H5_iter_order_t, H5O_iterate2_t, Ptr{Cvoid}, Cuint, hid_t), loc_id, obj_name, idx_type, order, op, op_data, fields, lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5o_visit_by_name3 (not annotated)") return nothing @@ -2755,11 +2755,11 @@ end See `libhdf5` documentation for [`H5Pget`](https://portal.hdfgroup.org/display/HDF5/H5P_GET). """ function h5p_get(plist_id, name, value) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{Cvoid}), plist_id, name, value) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get (not annotated)") return nothing @@ -2771,11 +2771,11 @@ end See `libhdf5` documentation for [`H5Pget_alignment`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ALIGNMENT). """ function h5p_get_alignment(fapl_id, threshold, alignment) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_alignment, libhdf5), herr_t, (hid_t, Ref{hsize_t}, Ref{hsize_t}), fapl_id, threshold, alignment) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting alignment") return nothing @@ -2787,11 +2787,11 @@ end See `libhdf5` documentation for [`H5Pget_alloc_time`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ALLOC_TIME). """ function h5p_get_alloc_time(plist_id, alloc_time) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_alloc_time, libhdf5), herr_t, (hid_t, Ptr{Cint}), plist_id, alloc_time) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting allocation timing") return nothing @@ -2803,11 +2803,11 @@ end See `libhdf5` documentation for [`H5Pget_append_flush`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_APPEND_FLUSH). """ function h5p_get_append_flush(dapl_id, dims, boundary, func, udata) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_append_flush, libhdf5), herr_t, (hid_t, Cuint, Ptr{hsize_t}, Ptr{H5D_append_cb_t}, Ptr{Ptr{Cvoid}}), dapl_id, dims, boundary, func, udata) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_append_flush (not annotated)") return nothing @@ -2819,11 +2819,11 @@ end See `libhdf5` documentation for [`H5Pget_attr_creation_order`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ATTR_CREATION_ORDER). """ function h5p_get_attr_creation_order(plist_id, crt_order_flags) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_attr_creation_order, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, crt_order_flags) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting attribute creation order") return nothing @@ -2835,11 +2835,11 @@ end See `libhdf5` documentation for [`H5Pget_attr_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ATTR_PHASE_CHANGE). """ function h5p_get_attr_phase_change(plist_id, max_compact, min_dense) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_attr_phase_change, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, max_compact, min_dense) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_attr_phase_change (not annotated)") return nothing @@ -2851,11 +2851,11 @@ end See `libhdf5` documentation for [`H5Pget_btree_ratios`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_BTREE_RATIOS). """ function h5p_get_btree_ratios(plist_id, left, middle, right) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_btree_ratios, libhdf5), herr_t, (hid_t, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), plist_id, left, middle, right) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_btree_ratios (not annotated)") return nothing @@ -2867,11 +2867,11 @@ end See `libhdf5` documentation for [`H5Pget_buffer`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_BUFFER). """ function h5p_get_buffer(plist_id, tconv, bkg) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_buffer, libhdf5), Csize_t, (hid_t, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}), plist_id, tconv, bkg) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end @h5error "Error in h5p_get_buffer (not annotated)" return var"#status#" @@ -2883,11 +2883,11 @@ end See `libhdf5` documentation for [`H5Pget_cache`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CACHE). """ function h5p_get_cache(plist_id, mdc_nelmts, rdcc_nslots, rdcc_nbytes, rdcc_w0) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_cache, libhdf5), herr_t, (hid_t, Ptr{Cint}, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cdouble}), plist_id, mdc_nelmts, rdcc_nslots, rdcc_nbytes, rdcc_w0) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_cache (not annotated)") return nothing @@ -2899,11 +2899,11 @@ end See `libhdf5` documentation for [`H5Pget_char_encoding`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CHAR_ENCODING). """ function h5p_get_char_encoding(plist_id, encoding) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_char_encoding, libhdf5), herr_t, (hid_t, Ref{Cint}), plist_id, encoding) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting char encoding") return nothing @@ -2915,11 +2915,11 @@ end See `libhdf5` documentation for [`H5Pget_chunk`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CHUNK). """ function h5p_get_chunk(plist_id, n_dims, dims) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_chunk, libhdf5), Cint, (hid_t, Cint, Ptr{hsize_t}), plist_id, n_dims, dims) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting chunk size") return Int(var"#status#") @@ -2931,11 +2931,11 @@ end See `libhdf5` documentation for [`H5Pget_chunk_cache`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CHUNK_CACHE). """ function h5p_get_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_chunk_cache, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cdouble}), dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_chunk_cache (not annotated)") return nothing @@ -2947,11 +2947,11 @@ end See `libhdf5` documentation for [`H5Pget_chunk_opts`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CHUNK_OPTS). """ function h5p_get_chunk_opts(plist_id, opts) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_chunk_opts, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, opts) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_chunk_opts (not annotated)") return nothing @@ -2963,11 +2963,11 @@ end See `libhdf5` documentation for [`H5Pget_class`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CLASS). """ function h5p_get_class(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_class, libhdf5), hid_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_class (not annotated)") return var"#status#" @@ -2979,11 +2979,11 @@ end See `libhdf5` documentation for [`H5Pget_class_parent`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CLASS_PARENT). """ function h5p_get_class_parent(pclass_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_class_parent, libhdf5), hid_t, (hid_t,), pclass_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_class_parent (not annotated)") return var"#status#" @@ -2995,11 +2995,11 @@ end See `libhdf5` documentation for [`H5Pget_copy_object`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_COPY_OBJECT). """ function h5p_get_copy_object(plist_id, copy_options) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_copy_object, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, copy_options) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_copy_object (not annotated)") return nothing @@ -3011,11 +3011,11 @@ end See `libhdf5` documentation for [`H5Pget_core_write_tracking`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CORE_WRITE_TRACKING). """ function h5p_get_core_write_tracking(fapl_id, is_enabled, page_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_core_write_tracking, libhdf5), herr_t, (hid_t, Ptr{hbool_t}, Ptr{Csize_t}), fapl_id, is_enabled, page_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_core_write_tracking (not annotated)") return nothing @@ -3027,11 +3027,11 @@ end See `libhdf5` documentation for [`H5Pget_create_intermediate_group`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_CREATE_INTERMEDIATE_GROUP). """ function h5p_get_create_intermediate_group(lcpl_id, crt_intermed_group) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_create_intermediate_group, libhdf5), herr_t, (hid_t, Ref{Cuint}), lcpl_id, crt_intermed_group) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting create intermediate group property") return nothing @@ -3043,11 +3043,11 @@ end See `libhdf5` documentation for [`H5Pget_data_transform`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DATA_TRANSFORM). """ function h5p_get_data_transform(plist_id, expression, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_data_transform, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Csize_t), plist_id, expression, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_data_transform (not annotated)") return var"#status#" @@ -3059,11 +3059,11 @@ end See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5p_get_driver(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_driver, libhdf5), hid_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting driver identifier") return var"#status#" @@ -3075,11 +3075,11 @@ end See `libhdf5` documentation for [`H5Pget_driver_info`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER_INFO). """ function h5p_get_driver_info(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_driver_info, libhdf5), Ptr{Cvoid}, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" == C_NULL && @h5error("Error getting driver info") return var"#status#" @@ -3091,11 +3091,11 @@ end See `libhdf5` documentation for [`H5Pget_dset_no_attrs_hint`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DSET_NO_ATTRS_HINT). """ function h5p_get_dset_no_attrs_hint(dcpl_id, minimize) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_dset_no_attrs_hint, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), dcpl_id, minimize) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in getting dataset no attributes hint property") return nothing @@ -3107,11 +3107,11 @@ end See `libhdf5` documentation for [`H5Pget_dxpl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DXPL_MPIO). """ function h5p_get_dxpl_mpio(dxpl_id, xfer_mode) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_dxpl_mpio, libhdf5), herr_t, (hid_t, Ptr{Cint}), dxpl_id, xfer_mode) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting MPIO transfer mode") return nothing @@ -3123,11 +3123,11 @@ end See `libhdf5` documentation for [`H5Pget_edc_check`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EDC_CHECK). """ function h5p_get_edc_check(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_edc_check, libhdf5), H5Z_EDC_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_edc_check (not annotated)") return var"#status#" @@ -3139,11 +3139,11 @@ end See `libhdf5` documentation for [`H5Pget_efile_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EFILE_PREFIX). """ function h5p_get_efile_prefix(dapl_id, prefix, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_efile_prefix, libhdf5), Cssize_t, (hid_t, Ptr{UInt8}, Csize_t), dapl_id, prefix, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting external file prefix") return var"#status#" @@ -3155,11 +3155,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_acc_flags`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_ACC_FLAGS). """ function h5p_get_elink_acc_flags(lapl_id, flags) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_acc_flags, libhdf5), herr_t, (hid_t, Ptr{Cuint}), lapl_id, flags) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_acc_flags (not annotated)") return nothing @@ -3171,11 +3171,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_CB). """ function h5p_get_elink_cb(lapl_id, func, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_cb, libhdf5), herr_t, (hid_t, Ptr{H5L_elink_traverse_t}, Ptr{Ptr{Cvoid}}), lapl_id, func, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_cb (not annotated)") return nothing @@ -3187,11 +3187,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_fapl`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_FAPL). """ function h5p_get_elink_fapl(lapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_fapl, libhdf5), hid_t, (hid_t,), lapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_fapl (not annotated)") return var"#status#" @@ -3203,11 +3203,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_file_cache_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_FILE_CACHE_SIZE). """ function h5p_get_elink_file_cache_size(plist_id, efc_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_file_cache_size, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, efc_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_file_cache_size (not annotated)") return nothing @@ -3219,11 +3219,11 @@ end See `libhdf5` documentation for [`H5Pget_elink_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ELINK_PREFIX). """ function h5p_get_elink_prefix(plist_id, prefix, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_elink_prefix, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Csize_t), plist_id, prefix, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_elink_prefix (not annotated)") return var"#status#" @@ -3235,11 +3235,11 @@ end See `libhdf5` documentation for [`H5Pget_est_link_info`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EST_LINK_INFO). """ function h5p_get_est_link_info(plist_id, est_num_entries, est_name_len) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_est_link_info, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, est_num_entries, est_name_len) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_est_link_info (not annotated)") return nothing @@ -3251,11 +3251,11 @@ end See `libhdf5` documentation for [`H5Pget_evict_on_close`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EVICT_ON_CLOSE). """ function h5p_get_evict_on_close(fapl_id, evict_on_close) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_evict_on_close, libhdf5), herr_t, (hid_t, Ptr{hbool_t}), fapl_id, evict_on_close) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_evict_on_close (not annotated)") return nothing @@ -3267,11 +3267,11 @@ end See `libhdf5` documentation for [`H5Pget_external`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EXTERNAL). """ function h5p_get_external(plist, idx, name_size, name, offset, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_external, libhdf5), herr_t, (hid_t, Cuint, Csize_t, Ptr{Cuchar}, Ptr{off_t}, Ptr{hsize_t}), plist, idx, name_size, name, offset, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting external file properties") return nothing @@ -3283,11 +3283,11 @@ end See `libhdf5` documentation for [`H5Pget_external_count`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_EXTERNAL_COUNT). """ function h5p_get_external_count(plist) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_external_count, libhdf5), Cint, (hid_t,), plist) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting external count") return Int(var"#status#") @@ -3299,11 +3299,11 @@ end See `libhdf5` documentation for [`H5Pget_family_offset`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAMILY_OFFSET). """ function h5p_get_family_offset(fapl_id, offset) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_family_offset, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), fapl_id, offset) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_family_offset (not annotated)") return nothing @@ -3315,11 +3315,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_core`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_CORE). """ function h5p_get_fapl_core(fapl_id, increment, backing_store) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_core, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{hbool_t}), fapl_id, increment, backing_store) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_core (not annotated)") return nothing @@ -3331,11 +3331,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_family`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_FAMILY). """ function h5p_get_fapl_family(fapl_id, memb_size, memb_fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_family, libhdf5), herr_t, (hid_t, Ptr{hsize_t}, Ptr{hid_t}), fapl_id, memb_size, memb_fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_family (not annotated)") return nothing @@ -3347,11 +3347,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_hdfs`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_HDFS). """ function h5p_get_fapl_hdfs(fapl_id, fa_out) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_hdfs, libhdf5), herr_t, (hid_t, Ptr{H5FD_hdfs_fapl_t}), fapl_id, fa_out) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_hdfs (not annotated)") return nothing @@ -3363,11 +3363,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_MPIO32). """ function h5p_get_fapl_mpio32(fapl_id, comm, info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_mpio, libhdf5), herr_t, (hid_t, Ptr{Hmpih32}, Ptr{Hmpih32}), fapl_id, comm, info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting MPIO properties") return nothing @@ -3379,11 +3379,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_MPIO64). """ function h5p_get_fapl_mpio64(fapl_id, comm, info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_mpio, libhdf5), herr_t, (hid_t, Ptr{Hmpih64}, Ptr{Hmpih64}), fapl_id, comm, info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting MPIO properties") return nothing @@ -3395,11 +3395,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_multi`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_MULTI). """ function h5p_get_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_multi, libhdf5), herr_t, (hid_t, Ptr{H5FD_mem_t}, Ptr{hid_t}, Ptr{Ptr{Cchar}}, Ptr{haddr_t}, Ptr{hbool_t}), fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_multi (not annotated)") return nothing @@ -3411,11 +3411,11 @@ end See `libhdf5` documentation for [`H5Pget_fapl_splitter`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FAPL_SPLITTER). """ function h5p_get_fapl_splitter(fapl_id, config_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fapl_splitter, libhdf5), herr_t, (hid_t, Ptr{H5FD_splitter_vfd_config_t}), fapl_id, config_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fapl_splitter (not annotated)") return nothing @@ -3427,11 +3427,11 @@ end See `libhdf5` documentation for [`H5Pget_fclose_degree`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FCLOSE_DEGREE). """ function h5p_get_fclose_degree(fapl_id, fc_degree) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fclose_degree, libhdf5), herr_t, (hid_t, Ref{Cint}), fapl_id, fc_degree) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting close degree") return nothing @@ -3443,11 +3443,11 @@ end See `libhdf5` documentation for [`H5Pget_file_image`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_IMAGE). """ function h5p_get_file_image(fapl_id, buf_ptr_ptr, buf_len_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_file_image, libhdf5), herr_t, (hid_t, Ptr{Ptr{Cvoid}}, Ptr{Csize_t}), fapl_id, buf_ptr_ptr, buf_len_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_image (not annotated)") return nothing @@ -3459,11 +3459,11 @@ end See `libhdf5` documentation for [`H5Pget_file_image_callbacks`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_IMAGE_CALLBACKS). """ function h5p_get_file_image_callbacks(fapl_id, callbacks_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_file_image_callbacks, libhdf5), herr_t, (hid_t, Ptr{H5FD_file_image_callbacks_t}), fapl_id, callbacks_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_image_callbacks (not annotated)") return nothing @@ -3475,11 +3475,11 @@ end See `libhdf5` documentation for [`H5Pget_file_locking`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_LOCKING). """ function h5p_get_file_locking(fapl_id, use_file_locking, ignore_when_disabled) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_file_locking, libhdf5), herr_t, (hid_t, Ptr{hbool_t}, Ptr{hbool_t}), fapl_id, use_file_locking, ignore_when_disabled) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_locking (not annotated)") return nothing @@ -3491,11 +3491,11 @@ end See `libhdf5` documentation for [`H5Pget_file_space`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_SPACE). """ function h5p_get_file_space(plist_id, strategy, threshold) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_file_space, libhdf5), herr_t, (hid_t, Ptr{H5F_file_space_type_t}, Ptr{hsize_t}), plist_id, strategy, threshold) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_space (not annotated)") return nothing @@ -3507,11 +3507,11 @@ end See `libhdf5` documentation for [`H5Pget_file_space_page_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_SPACE_PAGE_SIZE). """ function h5p_get_file_space_page_size(plist_id, fsp_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_file_space_page_size, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), plist_id, fsp_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_space_page_size (not annotated)") return nothing @@ -3523,11 +3523,11 @@ end See `libhdf5` documentation for [`H5Pget_file_space_strategy`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILE_SPACE_STRATEGY). """ function h5p_get_file_space_strategy(plist_id, strategy, persist, threshold) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_file_space_strategy, libhdf5), herr_t, (hid_t, Ptr{H5F_fspace_strategy_t}, Ptr{hbool_t}, Ptr{hsize_t}), plist_id, strategy, persist, threshold) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_file_space_strategy (not annotated)") return nothing @@ -3539,11 +3539,11 @@ end See `libhdf5` documentation for [`H5Pget_fill_time`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILL_TIME). """ function h5p_get_fill_time(plist_id, fill_time) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fill_time, libhdf5), herr_t, (hid_t, Ptr{H5D_fill_time_t}), plist_id, fill_time) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fill_time (not annotated)") return nothing @@ -3555,11 +3555,11 @@ end See `libhdf5` documentation for [`H5Pget_fill_value`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILL_VALUE). """ function h5p_get_fill_value(plist_id, type_id, value) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_fill_value, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), plist_id, type_id, value) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_fill_value (not annotated)") return nothing @@ -3571,11 +3571,11 @@ end See `libhdf5` documentation for [`H5Pget_filter2`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILTER2). """ function h5p_get_filter(plist_id, idx, flags, cd_nemlts, cd_values, namelen, name, filter_config) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_filter2, libhdf5), H5Z_filter_t, (hid_t, Cuint, Ptr{Cuint}, Ref{Csize_t}, Ptr{Cuint}, Csize_t, Ptr{Cchar}, Ptr{Cuint}), plist_id, idx, flags, cd_nemlts, cd_values, namelen, name, filter_config) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting filter") return var"#status#" @@ -3587,11 +3587,11 @@ end See `libhdf5` documentation for [`H5Pget_filter_by_id2`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_FILTER_BY_ID2). """ function h5p_get_filter_by_id(plist_id, filter_id, flags, cd_nelmts, cd_values, namelen, name, filter_config) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_filter_by_id2, libhdf5), herr_t, (hid_t, H5Z_filter_t, Ref{Cuint}, Ref{Csize_t}, Ptr{Cuint}, Csize_t, Ptr{UInt8}, Ptr{Cuint}), plist_id, filter_id, flags, cd_nelmts, cd_values, namelen, name, filter_config) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting filter ID") return nothing @@ -3603,11 +3603,11 @@ end See `libhdf5` documentation for [`H5Pget_gc_references`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_GC_REFERENCES). """ function h5p_get_gc_references(fapl_id, gc_ref) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_gc_references, libhdf5), herr_t, (hid_t, Ptr{Cuint}), fapl_id, gc_ref) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_gc_references (not annotated)") return nothing @@ -3619,11 +3619,11 @@ end See `libhdf5` documentation for [`H5Pget_hyper_vector_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_HYPER_VECTOR_SIZE). """ function h5p_get_hyper_vector_size(fapl_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_hyper_vector_size, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), fapl_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_hyper_vector_size (not annotated)") return nothing @@ -3635,11 +3635,11 @@ end See `libhdf5` documentation for [`H5Pget_istore_k`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_ISTORE_K). """ function h5p_get_istore_k(plist_id, ik) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_istore_k, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, ik) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_istore_k (not annotated)") return nothing @@ -3651,11 +3651,11 @@ end See `libhdf5` documentation for [`H5Pget_layout`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LAYOUT). """ function h5p_get_layout(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_layout, libhdf5), Cint, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting layout")) return Int(var"#status#") @@ -3667,11 +3667,11 @@ end See `libhdf5` documentation for [`H5Pget_libver_bounds`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LIBVER_BOUNDS). """ function h5p_get_libver_bounds(fapl_id, low, high) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_libver_bounds, libhdf5), herr_t, (hid_t, Ref{Cint}, Ref{Cint}), fapl_id, low, high) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting library version bounds") return nothing @@ -3683,11 +3683,11 @@ end See `libhdf5` documentation for [`H5Pget_link_creation_order`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LINK_CREATION_ORDER). """ function h5p_get_link_creation_order(plist_id, crt_order_flags) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_link_creation_order, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, crt_order_flags) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting link creation order") return nothing @@ -3699,11 +3699,11 @@ end See `libhdf5` documentation for [`H5Pget_link_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LINK_PHASE_CHANGE). """ function h5p_get_link_phase_change(plist_id, max_compact, min_dense) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_link_phase_change, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, max_compact, min_dense) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_link_phase_change (not annotated)") return nothing @@ -3715,11 +3715,11 @@ end See `libhdf5` documentation for [`H5Pget_local_heap_size_hint`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_LOCAL_HEAP_SIZE_HINT). """ function h5p_get_local_heap_size_hint(plist_id, size_hint) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_local_heap_size_hint, libhdf5), herr_t, (hid_t, Ref{Csize_t}), plist_id, size_hint) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting local heap size hint") return nothing @@ -3731,11 +3731,11 @@ end See `libhdf5` documentation for [`H5Pget_mcdt_search_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MCDT_SEARCH_CB). """ function h5p_get_mcdt_search_cb(plist_id, func, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_mcdt_search_cb, libhdf5), herr_t, (hid_t, Ptr{H5O_mcdt_search_cb_t}, Ptr{Ptr{Cvoid}}), plist_id, func, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_mcdt_search_cb (not annotated)") return nothing @@ -3747,11 +3747,11 @@ end See `libhdf5` documentation for [`H5Pget_mdc_config`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MDC_CONFIG). """ function h5p_get_mdc_config(plist_id, config_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_mdc_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_config_t}), plist_id, config_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_mdc_config (not annotated)") return nothing @@ -3763,11 +3763,11 @@ end See `libhdf5` documentation for [`H5Pget_mdc_image_config`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MDC_IMAGE_CONFIG). """ function h5p_get_mdc_image_config(plist_id, config_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_mdc_image_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_image_config_t}), plist_id, config_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_mdc_image_config (not annotated)") return nothing @@ -3779,11 +3779,11 @@ end See `libhdf5` documentation for [`H5Pget_mdc_log_options`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MDC_LOG_OPTIONS). """ function h5p_get_mdc_log_options(plist_id, is_enabled, location, location_size, start_on_access) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_mdc_log_options, libhdf5), herr_t, (hid_t, Ptr{hbool_t}, Ptr{Cchar}, Ptr{Csize_t}, Ptr{hbool_t}), plist_id, is_enabled, location, location_size, start_on_access) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_mdc_log_options (not annotated)") return nothing @@ -3795,11 +3795,11 @@ end See `libhdf5` documentation for [`H5Pget_meta_block_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_META_BLOCK_SIZE). """ function h5p_get_meta_block_size(fapl_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_meta_block_size, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), fapl_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_meta_block_size (not annotated)") return nothing @@ -3811,11 +3811,11 @@ end See `libhdf5` documentation for [`H5Pget_metadata_read_attempts`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_METADATA_READ_ATTEMPTS). """ function h5p_get_metadata_read_attempts(plist_id, attempts) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_metadata_read_attempts, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, attempts) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_metadata_read_attempts (not annotated)") return nothing @@ -3827,11 +3827,11 @@ end See `libhdf5` documentation for [`H5Pget_multi_type`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_MULTI_TYPE). """ function h5p_get_multi_type(fapl_id, type) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_multi_type, libhdf5), herr_t, (hid_t, Ptr{H5FD_mem_t}), fapl_id, type) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_multi_type (not annotated)") return nothing @@ -3843,11 +3843,11 @@ end See `libhdf5` documentation for [`H5Pget_nfilters`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_NFILTERS). """ function h5p_get_nfilters(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_nfilters, libhdf5), Cint, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting nfilters") return Int(var"#status#") @@ -3859,11 +3859,11 @@ end See `libhdf5` documentation for [`H5Pget_nlinks`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_NLINKS). """ function h5p_get_nlinks(plist_id, nlinks) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_nlinks, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), plist_id, nlinks) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_nlinks (not annotated)") return nothing @@ -3875,11 +3875,11 @@ end See `libhdf5` documentation for [`H5Pget_nprops`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_NPROPS). """ function h5p_get_nprops(id, nprops) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_nprops, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), id, nprops) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_nprops (not annotated)") return nothing @@ -3891,11 +3891,11 @@ end See `libhdf5` documentation for [`H5Pget_obj_track_times`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_OBJ_TRACK_TIMES). """ function h5p_get_obj_track_times(plist_id, track_times) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_obj_track_times, libhdf5), herr_t, (hid_t, Ref{UInt8}), plist_id, track_times) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object time tracking") return nothing @@ -3907,11 +3907,11 @@ end See `libhdf5` documentation for [`H5Pget_object_flush_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_OBJECT_FLUSH_CB). """ function h5p_get_object_flush_cb(plist_id, func, udata) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_object_flush_cb, libhdf5), herr_t, (hid_t, Ptr{H5F_flush_cb_t}, Ptr{Ptr{Cvoid}}), plist_id, func, udata) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_object_flush_cb (not annotated)") return nothing @@ -3923,11 +3923,11 @@ end See `libhdf5` documentation for [`H5Pget_page_buffer_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_PAGE_BUFFER_SIZE). """ function h5p_get_page_buffer_size(plist_id, buf_size, min_meta_perc, min_raw_perc) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_page_buffer_size, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{Cuint}, Ptr{Cuint}), plist_id, buf_size, min_meta_perc, min_raw_perc) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_page_buffer_size (not annotated)") return nothing @@ -3939,11 +3939,11 @@ end See `libhdf5` documentation for [`H5Pget_preserve`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_PRESERVE). """ function h5p_get_preserve(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_preserve, libhdf5), Cint, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_preserve (not annotated)") return Int(var"#status#") @@ -3955,11 +3955,11 @@ end See `libhdf5` documentation for [`H5Pget_shared_mesg_index`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SHARED_MESG_INDEX). """ function h5p_get_shared_mesg_index(plist_id, index_num, mesg_type_flags, min_mesg_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_shared_mesg_index, libhdf5), herr_t, (hid_t, Cuint, Ptr{Cuint}, Ptr{Cuint}), plist_id, index_num, mesg_type_flags, min_mesg_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_shared_mesg_index (not annotated)") return nothing @@ -3971,11 +3971,11 @@ end See `libhdf5` documentation for [`H5Pget_shared_mesg_nindexes`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SHARED_MESG_NINDEXES). """ function h5p_get_shared_mesg_nindexes(plist_id, nindexes) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_shared_mesg_nindexes, libhdf5), herr_t, (hid_t, Ptr{Cuint}), plist_id, nindexes) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_shared_mesg_nindexes (not annotated)") return nothing @@ -3987,11 +3987,11 @@ end See `libhdf5` documentation for [`H5Pget_shared_mesg_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SHARED_MESG_PHASE_CHANGE). """ function h5p_get_shared_mesg_phase_change(plist_id, max_list, min_btree) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_shared_mesg_phase_change, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, max_list, min_btree) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_shared_mesg_phase_change (not annotated)") return nothing @@ -4003,11 +4003,11 @@ end See `libhdf5` documentation for [`H5Pget_sieve_buf_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SIEVE_BUF_SIZE). """ function h5p_get_sieve_buf_size(fapl_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_sieve_buf_size, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), fapl_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_sieve_buf_size (not annotated)") return nothing @@ -4019,11 +4019,11 @@ end See `libhdf5` documentation for [`H5Pget_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SIZE). """ function h5p_get_size(id, name, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_size, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{Csize_t}), id, name, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_size (not annotated)") return nothing @@ -4035,11 +4035,11 @@ end See `libhdf5` documentation for [`H5Pget_sizes`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SIZES). """ function h5p_get_sizes(plist_id, sizeof_addr, sizeof_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_sizes, libhdf5), herr_t, (hid_t, Ptr{Csize_t}, Ptr{Csize_t}), plist_id, sizeof_addr, sizeof_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_sizes (not annotated)") return nothing @@ -4051,11 +4051,11 @@ end See `libhdf5` documentation for [`H5Pget_small_data_block_size`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SMALL_DATA_BLOCK_SIZE). """ function h5p_get_small_data_block_size(fapl_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_small_data_block_size, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), fapl_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_small_data_block_size (not annotated)") return nothing @@ -4067,11 +4067,11 @@ end See `libhdf5` documentation for [`H5Pget_sym_k`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_SYM_K). """ function h5p_get_sym_k(plist_id, ik, lk) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_sym_k, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}), plist_id, ik, lk) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_sym_k (not annotated)") return nothing @@ -4083,11 +4083,11 @@ end See `libhdf5` documentation for [`H5Pget_type_conv_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_TYPE_CONV_CB). """ function h5p_get_type_conv_cb(dxpl_id, op, operate_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_type_conv_cb, libhdf5), herr_t, (hid_t, Ptr{H5T_conv_except_func_t}, Ptr{Ptr{Cvoid}}), dxpl_id, op, operate_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_type_conv_cb (not annotated)") return nothing @@ -4099,11 +4099,11 @@ end See `libhdf5` documentation for [`H5Pget_userblock`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_USERBLOCK). """ function h5p_get_userblock(plist_id, len) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_userblock, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), plist_id, len) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting userblock") return nothing @@ -4115,11 +4115,11 @@ end See `libhdf5` documentation for [`H5Pget_version`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VERSION). """ function h5p_get_version(plist_id, boot, freelist, stab, shhdr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_version, libhdf5), herr_t, (hid_t, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}, Ptr{Cuint}), plist_id, boot, freelist, stab, shhdr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_version (not annotated)") return nothing @@ -4131,11 +4131,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_count`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_COUNT). """ function h5p_get_virtual_count(dcpl_id, count) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_count, libhdf5), herr_t, (hid_t, Ptr{Csize_t}), dcpl_id, count) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_count (not annotated)") return nothing @@ -4147,11 +4147,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_dsetname`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_DSETNAME). """ function h5p_get_virtual_dsetname(dcpl_id, index, name, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_dsetname, libhdf5), Cssize_t, (hid_t, Csize_t, Ptr{Cchar}, Csize_t), dcpl_id, index, name, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_dsetname (not annotated)") return var"#status#" @@ -4163,11 +4163,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_filename`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_FILENAME). """ function h5p_get_virtual_filename(dcpl_id, index, name, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_filename, libhdf5), Cssize_t, (hid_t, Csize_t, Ptr{Cchar}, Csize_t), dcpl_id, index, name, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_filename (not annotated)") return var"#status#" @@ -4179,11 +4179,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_PREFIX). """ function h5p_get_virtual_prefix(dapl_id, prefix, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_prefix, libhdf5), Cssize_t, (hid_t, Ptr{Cchar}, Csize_t), dapl_id, prefix, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_prefix (not annotated)") return var"#status#" @@ -4195,11 +4195,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_printf_gap`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_PRINTF_GAP). """ function h5p_get_virtual_printf_gap(dapl_id, gap_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_printf_gap, libhdf5), herr_t, (hid_t, Ptr{hsize_t}), dapl_id, gap_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_printf_gap (not annotated)") return nothing @@ -4211,11 +4211,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_srcspace`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_SRCSPACE). """ function h5p_get_virtual_srcspace(dcpl_id, index) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_srcspace, libhdf5), hid_t, (hid_t, Csize_t), dcpl_id, index) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_srcspace (not annotated)") return var"#status#" @@ -4227,11 +4227,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_view`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_VIEW). """ function h5p_get_virtual_view(dapl_id, view) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_view, libhdf5), herr_t, (hid_t, Ptr{H5D_vds_view_t}), dapl_id, view) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_view (not annotated)") return nothing @@ -4243,11 +4243,11 @@ end See `libhdf5` documentation for [`H5Pget_virtual_vspace`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VIRTUAL_VSPACE). """ function h5p_get_virtual_vspace(dcpl_id, index) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_virtual_vspace, libhdf5), hid_t, (hid_t, Csize_t), dcpl_id, index) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_virtual_vspace (not annotated)") return var"#status#" @@ -4259,11 +4259,11 @@ end See `libhdf5` documentation for [`H5Pget_vlen_mem_manager`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VLEN_MEM_MANAGER). """ function h5p_get_vlen_mem_manager(plist_id, alloc_func, alloc_info, free_func, free_info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_vlen_mem_manager, libhdf5), herr_t, (hid_t, Ptr{H5MM_allocate_t}, Ptr{Ptr{Cvoid}}, Ptr{H5MM_free_t}, Ptr{Ptr{Cvoid}}), plist_id, alloc_func, alloc_info, free_func, free_info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_vlen_mem_manager (not annotated)") return nothing @@ -4275,11 +4275,11 @@ end See `libhdf5` documentation for [`H5Pget_vol_id`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VOL_ID). """ function h5p_get_vol_id(plist_id, vol_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_vol_id, libhdf5), herr_t, (hid_t, Ptr{hid_t}), plist_id, vol_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_vol_id (not annotated)") return nothing @@ -4291,11 +4291,11 @@ end See `libhdf5` documentation for [`H5Pget_vol_info`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_VOL_INFO). """ function h5p_get_vol_info(plist_id, vol_info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pget_vol_info, libhdf5), herr_t, (hid_t, Ptr{Ptr{Cvoid}}), plist_id, vol_info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_get_vol_info (not annotated)") return nothing @@ -4307,11 +4307,11 @@ end See `libhdf5` documentation for [`H5Pset`](https://portal.hdfgroup.org/display/HDF5/H5P_SET). """ function h5p_set(plist_id, name, value) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Ptr{Cvoid}), plist_id, name, value) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set (not annotated)") return nothing @@ -4323,11 +4323,11 @@ end See `libhdf5` documentation for [`H5Pset_alignment`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ALIGNMENT). """ function h5p_set_alignment(plist_id, threshold, alignment) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_alignment, libhdf5), herr_t, (hid_t, hsize_t, hsize_t), plist_id, threshold, alignment) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting alignment") return nothing @@ -4339,11 +4339,11 @@ end See `libhdf5` documentation for [`H5Pset_alloc_time`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ALLOC_TIME). """ function h5p_set_alloc_time(plist_id, alloc_time) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_alloc_time, libhdf5), herr_t, (hid_t, Cint), plist_id, alloc_time) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting allocation timing") return nothing @@ -4355,11 +4355,11 @@ end See `libhdf5` documentation for [`H5Pset_append_flush`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_APPEND_FLUSH). """ function h5p_set_append_flush(dapl_id, ndims, boundary, func, udata) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_append_flush, libhdf5), herr_t, (hid_t, Cuint, Ptr{hsize_t}, H5D_append_cb_t, Ptr{Cvoid}), dapl_id, ndims, boundary, func, udata) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_append_flush (not annotated)") return nothing @@ -4371,11 +4371,11 @@ end See `libhdf5` documentation for [`H5Pset_attr_creation_order`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ATTR_CREATION_ORDER). """ function h5p_set_attr_creation_order(plist_id, crt_order_flags) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_attr_creation_order, libhdf5), herr_t, (hid_t, Cuint), plist_id, crt_order_flags) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting attribute creation order") return nothing @@ -4387,11 +4387,11 @@ end See `libhdf5` documentation for [`H5Pset_attr_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ATTR_PHASE_CHANGE). """ function h5p_set_attr_phase_change(plist_id, max_compact, min_dense) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_attr_phase_change, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, max_compact, min_dense) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_attr_phase_change (not annotated)") return nothing @@ -4403,11 +4403,11 @@ end See `libhdf5` documentation for [`H5Pset_btree_ratios`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_BTREE_RATIOS). """ function h5p_set_btree_ratios(plist_id, left, middle, right) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_btree_ratios, libhdf5), herr_t, (hid_t, Cdouble, Cdouble, Cdouble), plist_id, left, middle, right) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_btree_ratios (not annotated)") return nothing @@ -4419,11 +4419,11 @@ end See `libhdf5` documentation for [`H5Pset_buffer`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_BUFFER). """ function h5p_set_buffer(plist_id, size, tconv, bkg) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_buffer, libhdf5), herr_t, (hid_t, Csize_t, Ptr{Cvoid}, Ptr{Cvoid}), plist_id, size, tconv, bkg) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_buffer (not annotated)") return nothing @@ -4435,11 +4435,11 @@ end See `libhdf5` documentation for [`H5Pset_cache`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CACHE). """ function h5p_set_cache(plist_id, mdc_nelmts, rdcc_nslots, rdcc_nbytes, rdcc_w0) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_cache, libhdf5), herr_t, (hid_t, Cint, Csize_t, Csize_t, Cdouble), plist_id, mdc_nelmts, rdcc_nslots, rdcc_nbytes, rdcc_w0) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_cache (not annotated)") return nothing @@ -4451,11 +4451,11 @@ end See `libhdf5` documentation for [`H5Pset_char_encoding`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHAR_ENCODING). """ function h5p_set_char_encoding(plist_id, encoding) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_char_encoding, libhdf5), herr_t, (hid_t, Cint), plist_id, encoding) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting char encoding") return nothing @@ -4467,11 +4467,11 @@ end See `libhdf5` documentation for [`H5Pset_chunk`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK). """ function h5p_set_chunk(plist_id, ndims, dims) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_chunk, libhdf5), herr_t, (hid_t, Cint, Ptr{hsize_t}), plist_id, ndims, dims) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting chunk size") return nothing @@ -4483,11 +4483,11 @@ end See `libhdf5` documentation for [`H5Pset_chunk_cache`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK_CACHE). """ function h5p_set_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_chunk_cache, libhdf5), herr_t, (hid_t, Csize_t, Csize_t, Cdouble), dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting chunk cache") return nothing @@ -4499,11 +4499,11 @@ end See `libhdf5` documentation for [`H5Pset_chunk_opts`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK_OPTS). """ function h5p_set_chunk_opts(plist_id, opts) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_chunk_opts, libhdf5), herr_t, (hid_t, Cuint), plist_id, opts) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_chunk_opts (not annotated)") return nothing @@ -4515,11 +4515,11 @@ end See `libhdf5` documentation for [`H5Pset_copy_object`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_COPY_OBJECT). """ function h5p_set_copy_object(plist_id, copy_options) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_copy_object, libhdf5), herr_t, (hid_t, Cuint), plist_id, copy_options) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_copy_object (not annotated)") return nothing @@ -4531,11 +4531,11 @@ end See `libhdf5` documentation for [`H5Pset_core_write_tracking`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CORE_WRITE_TRACKING). """ function h5p_set_core_write_tracking(fapl_id, is_enabled, page_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_core_write_tracking, libhdf5), herr_t, (hid_t, hbool_t, Csize_t), fapl_id, is_enabled, page_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_core_write_tracking (not annotated)") return nothing @@ -4547,11 +4547,11 @@ end See `libhdf5` documentation for [`H5Pset_create_intermediate_group`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_CREATE_INTERMEDIATE_GROUP). """ function h5p_set_create_intermediate_group(plist_id, setting) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_create_intermediate_group, libhdf5), herr_t, (hid_t, Cuint), plist_id, setting) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting create intermediate group") return nothing @@ -4563,11 +4563,11 @@ end See `libhdf5` documentation for [`H5Pset_data_transform`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DATA_TRANSFORM). """ function h5p_set_data_transform(plist_id, expression) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_data_transform, libhdf5), herr_t, (hid_t, Ptr{Cchar}), plist_id, expression) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_data_transform (not annotated)") return nothing @@ -4579,11 +4579,11 @@ end See `libhdf5` documentation for [`H5Pset_deflate`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DEFLATE). """ function h5p_set_deflate(plist_id, setting) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_deflate, libhdf5), herr_t, (hid_t, Cuint), plist_id, setting) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting compression method and level (deflate)") return nothing @@ -4595,11 +4595,11 @@ end See `libhdf5` documentation for [`H5Pset_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DRIVER). """ function h5p_set_driver(plist_id, driver_id, driver_info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_driver, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), plist_id, driver_id, driver_info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_driver (not annotated)") return nothing @@ -4611,11 +4611,11 @@ end See `libhdf5` documentation for [`H5Pset_dset_no_attrs_hint`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DSET_NO_ATTRS_HINT). """ function h5p_set_dset_no_attrs_hint(dcpl_id, minimize) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_dset_no_attrs_hint, libhdf5), herr_t, (hid_t, hbool_t), dcpl_id, minimize) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in setting dataset no attributes hint property") return nothing @@ -4627,11 +4627,11 @@ end See `libhdf5` documentation for [`H5Pset_dxpl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_DXPL_MPIO). """ function h5p_set_dxpl_mpio(dxpl_id, xfer_mode) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_dxpl_mpio, libhdf5), herr_t, (hid_t, Cint), dxpl_id, xfer_mode) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting MPIO transfer mode") return nothing @@ -4643,11 +4643,11 @@ end See `libhdf5` documentation for [`H5Pset_edc_check`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EDC_CHECK). """ function h5p_set_edc_check(plist_id, check) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_edc_check, libhdf5), herr_t, (hid_t, H5Z_EDC_t), plist_id, check) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_edc_check (not annotated)") return nothing @@ -4659,11 +4659,11 @@ end See `libhdf5` documentation for [`H5Pset_efile_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EFILE_PREFIX). """ function h5p_set_efile_prefix(plist_id, prefix) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_efile_prefix, libhdf5), herr_t, (hid_t, Ptr{UInt8}), plist_id, prefix) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting external file prefix") return nothing @@ -4675,11 +4675,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_acc_flags`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_ACC_FLAGS). """ function h5p_set_elink_acc_flags(lapl_id, flags) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_acc_flags, libhdf5), herr_t, (hid_t, Cuint), lapl_id, flags) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_acc_flags (not annotated)") return nothing @@ -4691,11 +4691,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_CB). """ function h5p_set_elink_cb(lapl_id, func, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_cb, libhdf5), herr_t, (hid_t, H5L_elink_traverse_t, Ptr{Cvoid}), lapl_id, func, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_cb (not annotated)") return nothing @@ -4707,11 +4707,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_fapl`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_FAPL). """ function h5p_set_elink_fapl(lapl_id, fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_fapl, libhdf5), herr_t, (hid_t, hid_t), lapl_id, fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_fapl (not annotated)") return nothing @@ -4723,11 +4723,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_file_cache_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_FILE_CACHE_SIZE). """ function h5p_set_elink_file_cache_size(plist_id, efc_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_file_cache_size, libhdf5), herr_t, (hid_t, Cuint), plist_id, efc_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_file_cache_size (not annotated)") return nothing @@ -4739,11 +4739,11 @@ end See `libhdf5` documentation for [`H5Pset_elink_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ELINK_PREFIX). """ function h5p_set_elink_prefix(plist_id, prefix) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_elink_prefix, libhdf5), herr_t, (hid_t, Ptr{Cchar}), plist_id, prefix) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_elink_prefix (not annotated)") return nothing @@ -4755,11 +4755,11 @@ end See `libhdf5` documentation for [`H5Pset_est_link_info`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EST_LINK_INFO). """ function h5p_set_est_link_info(plist_id, est_num_entries, est_name_len) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_est_link_info, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, est_num_entries, est_name_len) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_est_link_info (not annotated)") return nothing @@ -4771,11 +4771,11 @@ end See `libhdf5` documentation for [`H5Pset_evict_on_close`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EVICT_ON_CLOSE). """ function h5p_set_evict_on_close(fapl_id, evict_on_close) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_evict_on_close, libhdf5), herr_t, (hid_t, hbool_t), fapl_id, evict_on_close) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_evict_on_close (not annotated)") return nothing @@ -4787,11 +4787,11 @@ end See `libhdf5` documentation for [`H5Pset_external`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_EXTERNAL). """ function h5p_set_external(plist_id, name, offset, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_external, libhdf5), herr_t, (hid_t, Ptr{Cchar}, off_t, hsize_t), plist_id, name, offset, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting external property") return nothing @@ -4803,11 +4803,11 @@ end See `libhdf5` documentation for [`H5Pset_family_offset`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAMILY_OFFSET). """ function h5p_set_family_offset(fapl_id, offset) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_family_offset, libhdf5), herr_t, (hid_t, hsize_t), fapl_id, offset) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_family_offset (not annotated)") return nothing @@ -4819,11 +4819,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_core`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_CORE). """ function h5p_set_fapl_core(fapl_id, increment, backing_store) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_core, libhdf5), herr_t, (hid_t, Csize_t, hbool_t), fapl_id, increment, backing_store) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_core (not annotated)") return nothing @@ -4835,11 +4835,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_family`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_FAMILY). """ function h5p_set_fapl_family(fapl_id, memb_size, memb_fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_family, libhdf5), herr_t, (hid_t, hsize_t, hid_t), fapl_id, memb_size, memb_fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_family (not annotated)") return nothing @@ -4851,11 +4851,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_hdfs`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_HDFS). """ function h5p_set_fapl_hdfs(fapl_id, fa) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_hdfs, libhdf5), herr_t, (hid_t, Ptr{H5FD_hdfs_fapl_t}), fapl_id, fa) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_hdfs (not annotated)") return nothing @@ -4867,11 +4867,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_log`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_LOG). """ function h5p_set_fapl_log(fapl_id, logfile, flags, buf_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_log, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Culonglong, Csize_t), fapl_id, logfile, flags, buf_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_log (not annotated)") return nothing @@ -4883,11 +4883,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_MPIO32). """ function h5p_set_fapl_mpio32(fapl_id, comm, info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_mpio, libhdf5), herr_t, (hid_t, Hmpih32, Hmpih32), fapl_id, comm, info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting MPIO properties") return nothing @@ -4899,11 +4899,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_mpio`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_MPIO64). """ function h5p_set_fapl_mpio64(fapl_id, comm, info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_mpio, libhdf5), herr_t, (hid_t, Hmpih64, Hmpih64), fapl_id, comm, info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting MPIO properties") return nothing @@ -4915,11 +4915,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_multi`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_MULTI). """ function h5p_set_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_multi, libhdf5), herr_t, (hid_t, Ptr{H5FD_mem_t}, Ptr{hid_t}, Ptr{Ptr{Cchar}}, Ptr{haddr_t}, hbool_t), fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_multi (not annotated)") return nothing @@ -4931,11 +4931,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_sec2`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_SEC2). """ function h5p_set_fapl_sec2(fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_sec2, libhdf5), herr_t, (hid_t,), fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting Sec2 properties") return nothing @@ -4947,11 +4947,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_split`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_SPLIT). """ function h5p_set_fapl_split(fapl, meta_ext, meta_plist_id, raw_ext, raw_plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_split, libhdf5), herr_t, (hid_t, Ptr{Cchar}, hid_t, Ptr{Cchar}, hid_t), fapl, meta_ext, meta_plist_id, raw_ext, raw_plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_split (not annotated)") return nothing @@ -4963,11 +4963,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_splitter`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_SPLITTER). """ function h5p_set_fapl_splitter(fapl_id, config_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_splitter, libhdf5), herr_t, (hid_t, Ptr{H5FD_splitter_vfd_config_t}), fapl_id, config_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_splitter (not annotated)") return nothing @@ -4979,11 +4979,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_stdio`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_STDIO). """ function h5p_set_fapl_stdio(fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_stdio, libhdf5), herr_t, (hid_t,), fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_stdio (not annotated)") return nothing @@ -4995,11 +4995,11 @@ end See `libhdf5` documentation for [`H5Pset_fapl_windows`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FAPL_WINDOWS). """ function h5p_set_fapl_windows(fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fapl_windows, libhdf5), herr_t, (hid_t,), fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fapl_windows (not annotated)") return nothing @@ -5011,11 +5011,11 @@ end See `libhdf5` documentation for [`H5Pset_fclose_degree`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FCLOSE_DEGREE). """ function h5p_set_fclose_degree(plist_id, fc_degree) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fclose_degree, libhdf5), herr_t, (hid_t, Cint), plist_id, fc_degree) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting close degree") return nothing @@ -5027,11 +5027,11 @@ end See `libhdf5` documentation for [`H5Pset_file_image`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_IMAGE). """ function h5p_set_file_image(fapl_id, buf_ptr, buf_len) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_file_image, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, Csize_t), fapl_id, buf_ptr, buf_len) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_image (not annotated)") return nothing @@ -5043,11 +5043,11 @@ end See `libhdf5` documentation for [`H5Pset_file_image_callbacks`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_IMAGE_CALLBACKS). """ function h5p_set_file_image_callbacks(fapl_id, callbacks_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_file_image_callbacks, libhdf5), herr_t, (hid_t, Ptr{H5FD_file_image_callbacks_t}), fapl_id, callbacks_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_image_callbacks (not annotated)") return nothing @@ -5059,11 +5059,11 @@ end See `libhdf5` documentation for [`H5Pset_file_locking`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_LOCKING). """ function h5p_set_file_locking(fapl_id, use_file_locking, ignore_when_disabled) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_file_locking, libhdf5), herr_t, (hid_t, hbool_t, hbool_t), fapl_id, use_file_locking, ignore_when_disabled) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_locking (not annotated)") return nothing @@ -5075,11 +5075,11 @@ end See `libhdf5` documentation for [`H5Pset_file_space`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_SPACE). """ function h5p_set_file_space(plist_id, strategy, threshold) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_file_space, libhdf5), herr_t, (hid_t, H5F_file_space_type_t, hsize_t), plist_id, strategy, threshold) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_space (not annotated)") return nothing @@ -5091,11 +5091,11 @@ end See `libhdf5` documentation for [`H5Pset_file_space_page_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_SPACE_PAGE_SIZE). """ function h5p_set_file_space_page_size(plist_id, fsp_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_file_space_page_size, libhdf5), herr_t, (hid_t, hsize_t), plist_id, fsp_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_space_page_size (not annotated)") return nothing @@ -5107,11 +5107,11 @@ end See `libhdf5` documentation for [`H5Pset_file_space_strategy`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILE_SPACE_STRATEGY). """ function h5p_set_file_space_strategy(plist_id, strategy, persist, threshold) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_file_space_strategy, libhdf5), herr_t, (hid_t, H5F_fspace_strategy_t, hbool_t, hsize_t), plist_id, strategy, persist, threshold) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_file_space_strategy (not annotated)") return nothing @@ -5123,11 +5123,11 @@ end See `libhdf5` documentation for [`H5Pset_fill_time`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILL_TIME). """ function h5p_set_fill_time(plist_id, fill_time) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fill_time, libhdf5), herr_t, (hid_t, H5D_fill_time_t), plist_id, fill_time) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fill_time (not annotated)") return nothing @@ -5139,11 +5139,11 @@ end See `libhdf5` documentation for [`H5Pset_fill_value`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILL_VALUE). """ function h5p_set_fill_value(plist_id, type_id, value) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fill_value, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), plist_id, type_id, value) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_fill_value (not annotated)") return nothing @@ -5155,11 +5155,11 @@ end See `libhdf5` documentation for [`H5Pset_filter`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILTER). """ function h5p_set_filter(plist_id, filter_id, flags, cd_nelmts, cd_values) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_filter, libhdf5), herr_t, (hid_t, H5Z_filter_t, Cuint, Csize_t, Ptr{Cuint}), plist_id, filter_id, flags, cd_nelmts, cd_values) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting filter") return nothing @@ -5171,11 +5171,11 @@ end See `libhdf5` documentation for [`H5Pset_filter_callback`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FILTER_CALLBACK). """ function h5p_set_filter_callback(plist_id, func, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_filter_callback, libhdf5), herr_t, (hid_t, H5Z_filter_func_t, Ptr{Cvoid}), plist_id, func, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_filter_callback (not annotated)") return nothing @@ -5187,11 +5187,11 @@ end See `libhdf5` documentation for [`H5Pset_fletcher32`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_FLETCHER32). """ function h5p_set_fletcher32(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_fletcher32, libhdf5), herr_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling Fletcher32 filter") return nothing @@ -5203,11 +5203,11 @@ end See `libhdf5` documentation for [`H5Pset_gc_references`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_GC_REFERENCES). """ function h5p_set_gc_references(fapl_id, gc_ref) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_gc_references, libhdf5), herr_t, (hid_t, Cuint), fapl_id, gc_ref) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_gc_references (not annotated)") return nothing @@ -5219,11 +5219,11 @@ end See `libhdf5` documentation for [`H5Pset_hyper_vector_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_HYPER_VECTOR_SIZE). """ function h5p_set_hyper_vector_size(plist_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_hyper_vector_size, libhdf5), herr_t, (hid_t, Csize_t), plist_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_hyper_vector_size (not annotated)") return nothing @@ -5235,11 +5235,11 @@ end See `libhdf5` documentation for [`H5Pset_istore_k`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_ISTORE_K). """ function h5p_set_istore_k(plist_id, ik) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_istore_k, libhdf5), herr_t, (hid_t, Cuint), plist_id, ik) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_istore_k (not annotated)") return nothing @@ -5251,11 +5251,11 @@ end See `libhdf5` documentation for [`H5Pset_layout`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LAYOUT). """ function h5p_set_layout(plist_id, setting) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_layout, libhdf5), herr_t, (hid_t, Cint), plist_id, setting) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting layout") return nothing @@ -5267,11 +5267,11 @@ end See `libhdf5` documentation for [`H5Pset_libver_bounds`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LIBVER_BOUNDS). """ function h5p_set_libver_bounds(fapl_id, low, high) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_libver_bounds, libhdf5), herr_t, (hid_t, Cint, Cint), fapl_id, low, high) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting library version bounds") return nothing @@ -5283,11 +5283,11 @@ end See `libhdf5` documentation for [`H5Pset_link_creation_order`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LINK_CREATION_ORDER). """ function h5p_set_link_creation_order(plist_id, crt_order_flags) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_link_creation_order, libhdf5), herr_t, (hid_t, Cuint), plist_id, crt_order_flags) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting link creation order") return nothing @@ -5299,11 +5299,11 @@ end See `libhdf5` documentation for [`H5Pset_link_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LINK_PHASE_CHANGE). """ function h5p_set_link_phase_change(plist_id, max_compact, min_dense) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_link_phase_change, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, max_compact, min_dense) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_link_phase_change (not annotated)") return nothing @@ -5315,11 +5315,11 @@ end See `libhdf5` documentation for [`H5Pset_local_heap_size_hint`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_LOCAL_HEAP_SIZE_HINT). """ function h5p_set_local_heap_size_hint(plist_id, size_hint) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_local_heap_size_hint, libhdf5), herr_t, (hid_t, Csize_t), plist_id, size_hint) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting local heap size hint") return nothing @@ -5331,11 +5331,11 @@ end See `libhdf5` documentation for [`H5Pset_mcdt_search_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MCDT_SEARCH_CB). """ function h5p_set_mcdt_search_cb(plist_id, func, op_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_mcdt_search_cb, libhdf5), herr_t, (hid_t, H5O_mcdt_search_cb_t, Ptr{Cvoid}), plist_id, func, op_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_mcdt_search_cb (not annotated)") return nothing @@ -5347,11 +5347,11 @@ end See `libhdf5` documentation for [`H5Pset_mdc_config`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MDC_CONFIG). """ function h5p_set_mdc_config(plist_id, config_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_mdc_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_config_t}), plist_id, config_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_mdc_config (not annotated)") return nothing @@ -5363,11 +5363,11 @@ end See `libhdf5` documentation for [`H5Pset_mdc_image_config`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MDC_IMAGE_CONFIG). """ function h5p_set_mdc_image_config(plist_id, config_ptr) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_mdc_image_config, libhdf5), herr_t, (hid_t, Ptr{H5AC_cache_image_config_t}), plist_id, config_ptr) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_mdc_image_config (not annotated)") return nothing @@ -5379,11 +5379,11 @@ end See `libhdf5` documentation for [`H5Pset_mdc_log_options`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MDC_LOG_OPTIONS). """ function h5p_set_mdc_log_options(plist_id, is_enabled, location, start_on_access) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_mdc_log_options, libhdf5), herr_t, (hid_t, hbool_t, Ptr{Cchar}, hbool_t), plist_id, is_enabled, location, start_on_access) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_mdc_log_options (not annotated)") return nothing @@ -5395,11 +5395,11 @@ end See `libhdf5` documentation for [`H5Pset_meta_block_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_META_BLOCK_SIZE). """ function h5p_set_meta_block_size(fapl_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_meta_block_size, libhdf5), herr_t, (hid_t, hsize_t), fapl_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_meta_block_size (not annotated)") return nothing @@ -5411,11 +5411,11 @@ end See `libhdf5` documentation for [`H5Pset_metadata_read_attempts`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_METADATA_READ_ATTEMPTS). """ function h5p_set_metadata_read_attempts(plist_id, attempts) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_metadata_read_attempts, libhdf5), herr_t, (hid_t, Cuint), plist_id, attempts) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_metadata_read_attempts (not annotated)") return nothing @@ -5427,11 +5427,11 @@ end See `libhdf5` documentation for [`H5Pset_multi_type`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_MULTI_TYPE). """ function h5p_set_multi_type(fapl_id, type) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_multi_type, libhdf5), herr_t, (hid_t, H5FD_mem_t), fapl_id, type) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_multi_type (not annotated)") return nothing @@ -5443,11 +5443,11 @@ end See `libhdf5` documentation for [`H5Pset_nbit`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_NBIT). """ function h5p_set_nbit(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_nbit, libhdf5), herr_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling nbit filter") return nothing @@ -5459,11 +5459,11 @@ end See `libhdf5` documentation for [`H5Pset_nlinks`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_NLINKS). """ function h5p_set_nlinks(plist_id, nlinks) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_nlinks, libhdf5), herr_t, (hid_t, Csize_t), plist_id, nlinks) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_nlinks (not annotated)") return nothing @@ -5475,11 +5475,11 @@ end See `libhdf5` documentation for [`H5Pset_obj_track_times`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_OBJ_TRACK_TIMES). """ function h5p_set_obj_track_times(plist_id, track_times) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_obj_track_times, libhdf5), herr_t, (hid_t, UInt8), plist_id, track_times) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting object time tracking") return nothing @@ -5491,11 +5491,11 @@ end See `libhdf5` documentation for [`H5Pset_object_flush_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_OBJECT_FLUSH_CB). """ function h5p_set_object_flush_cb(plist_id, func, udata) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_object_flush_cb, libhdf5), herr_t, (hid_t, H5F_flush_cb_t, Ptr{Cvoid}), plist_id, func, udata) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_object_flush_cb (not annotated)") return nothing @@ -5507,11 +5507,11 @@ end See `libhdf5` documentation for [`H5Pset_page_buffer_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_PAGE_BUFFER_SIZE). """ function h5p_set_page_buffer_size(plist_id, buf_size, min_meta_per, min_raw_per) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_page_buffer_size, libhdf5), herr_t, (hid_t, Csize_t, Cuint, Cuint), plist_id, buf_size, min_meta_per, min_raw_per) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_page_buffer_size (not annotated)") return nothing @@ -5523,11 +5523,11 @@ end See `libhdf5` documentation for [`H5Pset_preserve`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_PRESERVE). """ function h5p_set_preserve(plist_id, status) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_preserve, libhdf5), herr_t, (hid_t, hbool_t), plist_id, status) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_preserve (not annotated)") return nothing @@ -5539,11 +5539,11 @@ end See `libhdf5` documentation for [`H5Pset_scaleoffset`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SCALEOFFSET). """ function h5p_set_scaleoffset(plist_id, scale_type, scale_factor) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_scaleoffset, libhdf5), herr_t, (hid_t, Cint, Cint), plist_id, scale_type, scale_factor) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling szip filter") return nothing @@ -5555,11 +5555,11 @@ end See `libhdf5` documentation for [`H5Pset_shared_mesg_index`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SHARED_MESG_INDEX). """ function h5p_set_shared_mesg_index(plist_id, index_num, mesg_type_flags, min_mesg_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_shared_mesg_index, libhdf5), herr_t, (hid_t, Cuint, Cuint, Cuint), plist_id, index_num, mesg_type_flags, min_mesg_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_shared_mesg_index (not annotated)") return nothing @@ -5571,11 +5571,11 @@ end See `libhdf5` documentation for [`H5Pset_shared_mesg_nindexes`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SHARED_MESG_NINDEXES). """ function h5p_set_shared_mesg_nindexes(plist_id, nindexes) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_shared_mesg_nindexes, libhdf5), herr_t, (hid_t, Cuint), plist_id, nindexes) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_shared_mesg_nindexes (not annotated)") return nothing @@ -5587,11 +5587,11 @@ end See `libhdf5` documentation for [`H5Pset_shared_mesg_phase_change`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SHARED_MESG_PHASE_CHANGE). """ function h5p_set_shared_mesg_phase_change(plist_id, max_list, min_btree) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_shared_mesg_phase_change, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, max_list, min_btree) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_shared_mesg_phase_change (not annotated)") return nothing @@ -5603,11 +5603,11 @@ end See `libhdf5` documentation for [`H5Pset_shuffle`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SHUFFLE). """ function h5p_set_shuffle(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_shuffle, libhdf5), herr_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling shuffle filter") return nothing @@ -5619,11 +5619,11 @@ end See `libhdf5` documentation for [`H5Pset_sieve_buf_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SIEVE_BUF_SIZE). """ function h5p_set_sieve_buf_size(fapl_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_sieve_buf_size, libhdf5), herr_t, (hid_t, Csize_t), fapl_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_sieve_buf_size (not annotated)") return nothing @@ -5635,11 +5635,11 @@ end See `libhdf5` documentation for [`H5Pset_sizes`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SIZES). """ function h5p_set_sizes(plist_id, sizeof_addr, sizeof_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_sizes, libhdf5), herr_t, (hid_t, Csize_t, Csize_t), plist_id, sizeof_addr, sizeof_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_sizes (not annotated)") return nothing @@ -5651,11 +5651,11 @@ end See `libhdf5` documentation for [`H5Pset_small_data_block_size`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SMALL_DATA_BLOCK_SIZE). """ function h5p_set_small_data_block_size(fapl_id, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_small_data_block_size, libhdf5), herr_t, (hid_t, hsize_t), fapl_id, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_small_data_block_size (not annotated)") return nothing @@ -5667,11 +5667,11 @@ end See `libhdf5` documentation for [`H5Pset_sym_k`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SYM_K). """ function h5p_set_sym_k(plist_id, ik, lk) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_sym_k, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, ik, lk) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_sym_k (not annotated)") return nothing @@ -5683,11 +5683,11 @@ end See `libhdf5` documentation for [`H5Pset_szip`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_SZIP). """ function h5p_set_szip(plist_id, options_mask, pixels_per_block) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_szip, libhdf5), herr_t, (hid_t, Cuint, Cuint), plist_id, options_mask, pixels_per_block) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error enabling szip filter") return nothing @@ -5699,11 +5699,11 @@ end See `libhdf5` documentation for [`H5Pset_type_conv_cb`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_TYPE_CONV_CB). """ function h5p_set_type_conv_cb(dxpl_id, op, operate_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_type_conv_cb, libhdf5), herr_t, (hid_t, H5T_conv_except_func_t, Ptr{Cvoid}), dxpl_id, op, operate_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_type_conv_cb (not annotated)") return nothing @@ -5715,11 +5715,11 @@ end See `libhdf5` documentation for [`H5Pset_userblock`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_USERBLOCK). """ function h5p_set_userblock(plist_id, len) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_userblock, libhdf5), herr_t, (hid_t, hsize_t), plist_id, len) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting userblock") return nothing @@ -5731,11 +5731,11 @@ end See `libhdf5` documentation for [`H5Pset_virtual`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL). """ function h5p_set_virtual(dcpl_id, vspace_id, src_file_name, src_dset_name, src_space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_virtual, libhdf5), herr_t, (hid_t, hid_t, Ptr{UInt8}, Ptr{UInt8}, hid_t), dcpl_id, vspace_id, src_file_name, src_dset_name, src_space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting virtual") return nothing @@ -5747,11 +5747,11 @@ end See `libhdf5` documentation for [`H5Pset_virtual_prefix`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL_PREFIX). """ function h5p_set_virtual_prefix(dapl_id, prefix) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_virtual_prefix, libhdf5), herr_t, (hid_t, Ptr{Cchar}), dapl_id, prefix) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_virtual_prefix (not annotated)") return nothing @@ -5763,11 +5763,11 @@ end See `libhdf5` documentation for [`H5Pset_virtual_printf_gap`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL_PRINTF_GAP). """ function h5p_set_virtual_printf_gap(dapl_id, gap_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_virtual_printf_gap, libhdf5), herr_t, (hid_t, hsize_t), dapl_id, gap_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_virtual_printf_gap (not annotated)") return nothing @@ -5779,11 +5779,11 @@ end See `libhdf5` documentation for [`H5Pset_virtual_view`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL_VIEW). """ function h5p_set_virtual_view(dapl_id, view) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_virtual_view, libhdf5), herr_t, (hid_t, H5D_vds_view_t), dapl_id, view) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_virtual_view (not annotated)") return nothing @@ -5795,11 +5795,11 @@ end See `libhdf5` documentation for [`H5Pset_vlen_mem_manager`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VLEN_MEM_MANAGER). """ function h5p_set_vlen_mem_manager(plist_id, alloc_func, alloc_info, free_func, free_info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_vlen_mem_manager, libhdf5), herr_t, (hid_t, H5MM_allocate_t, Ptr{Cvoid}, H5MM_free_t, Ptr{Cvoid}), plist_id, alloc_func, alloc_info, free_func, free_info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_vlen_mem_manager (not annotated)") return nothing @@ -5811,11 +5811,11 @@ end See `libhdf5` documentation for [`H5Pset_vol`](https://portal.hdfgroup.org/display/HDF5/H5P_SET_VOL). """ function h5p_set_vol(plist_id, new_vol_id, new_vol_info) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pset_vol, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cvoid}), plist_id, new_vol_id, new_vol_info) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_set_vol (not annotated)") return nothing @@ -5827,11 +5827,11 @@ end See `libhdf5` documentation for [`H5Padd_merge_committed_dtype_path`](https://portal.hdfgroup.org/display/HDF5/H5P_ADD_MERGE_COMMITTED_DTYPE_PATH). """ function h5p_add_merge_committed_dtype_path(plist_id, path) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Padd_merge_committed_dtype_path, libhdf5), herr_t, (hid_t, Ptr{Cchar}), plist_id, path) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_add_merge_committed_dtype_path (not annotated)") return nothing @@ -5843,11 +5843,11 @@ end See `libhdf5` documentation for [`H5Pall_filters_avail`](https://portal.hdfgroup.org/display/HDF5/H5P_ALL_FILTERS_AVAIL). """ function h5p_all_filters_avail(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pall_filters_avail, libhdf5), htri_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_all_filters_avail (not annotated)") return var"#status#" > 0 @@ -5859,11 +5859,11 @@ end See `libhdf5` documentation for [`H5Pclose`](https://portal.hdfgroup.org/display/HDF5/H5P_CLOSE). """ function h5p_close(id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pclose, libhdf5), herr_t, (hid_t,), id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing property list") return nothing @@ -5875,11 +5875,11 @@ end See `libhdf5` documentation for [`H5Pclose_class`](https://portal.hdfgroup.org/display/HDF5/H5P_CLOSE_CLASS). """ function h5p_close_class(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pclose_class, libhdf5), herr_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_close_class (not annotated)") return nothing @@ -5891,11 +5891,11 @@ end See `libhdf5` documentation for [`H5Pcopy`](https://portal.hdfgroup.org/display/HDF5/H5P_COPY). """ function h5p_copy(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pcopy, libhdf5), hid_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_copy (not annotated)") return var"#status#" @@ -5907,11 +5907,11 @@ end See `libhdf5` documentation for [`H5Pcopy_prop`](https://portal.hdfgroup.org/display/HDF5/H5P_COPY_PROP). """ function h5p_copy_prop(dst_id, src_id, name) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pcopy_prop, libhdf5), herr_t, (hid_t, hid_t, Ptr{Cchar}), dst_id, src_id, name) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_copy_prop (not annotated)") return nothing @@ -5923,11 +5923,11 @@ end See `libhdf5` documentation for [`H5Pcreate`](https://portal.hdfgroup.org/display/HDF5/H5P_CREATE). """ function h5p_create(cls_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pcreate, libhdf5), hid_t, (hid_t,), cls_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating property list") return var"#status#" @@ -5939,11 +5939,11 @@ end See `libhdf5` documentation for [`H5Pcreate_class`](https://portal.hdfgroup.org/display/HDF5/H5P_CREATE_CLASS). """ function h5p_create_class(parent, name, create, create_data, copy, copy_data, close, close_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pcreate_class, libhdf5), hid_t, (hid_t, Ptr{Cchar}, H5P_cls_create_func_t, Ptr{Cvoid}, H5P_cls_copy_func_t, Ptr{Cvoid}, H5P_cls_close_func_t, Ptr{Cvoid}), parent, name, create, create_data, copy, copy_data, close, close_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_create_class (not annotated)") return var"#status#" @@ -5955,11 +5955,11 @@ end See `libhdf5` documentation for [`H5Pdecode`](https://portal.hdfgroup.org/display/HDF5/H5P_DECODE). """ function h5p_decode(buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pdecode, libhdf5), hid_t, (Ptr{Cvoid},), buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_decode (not annotated)") return var"#status#" @@ -5971,11 +5971,11 @@ end See `libhdf5` documentation for [`H5Pencode1`](https://portal.hdfgroup.org/display/HDF5/H5P_ENCODE1). """ function h5p_encode(plist_id, buf, nalloc) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pencode1, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, Ptr{Csize_t}), plist_id, buf, nalloc) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_encode1 (not annotated)") return nothing @@ -5987,11 +5987,11 @@ end See `libhdf5` documentation for [`H5Pencode2`](https://portal.hdfgroup.org/display/HDF5/H5P_ENCODE2). """ function h5p_encode(plist_id, buf, nalloc, fapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pencode2, libhdf5), herr_t, (hid_t, Ptr{Cvoid}, Ptr{Csize_t}, hid_t), plist_id, buf, nalloc, fapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_encode2 (not annotated)") return nothing @@ -6003,11 +6003,11 @@ end See `libhdf5` documentation for [`H5Pequal`](https://portal.hdfgroup.org/display/HDF5/H5P_EQUAL). """ function h5p_equal(id1, id2) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pequal, libhdf5), htri_t, (hid_t, hid_t), id1, id2) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_equal (not annotated)") return var"#status#" > 0 @@ -6019,11 +6019,11 @@ end See `libhdf5` documentation for [`H5Pexist`](https://portal.hdfgroup.org/display/HDF5/H5P_EXIST). """ function h5p_exist(plist_id, name) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pexist, libhdf5), htri_t, (hid_t, Ptr{Cchar}), plist_id, name) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_exist (not annotated)") return var"#status#" > 0 @@ -6035,11 +6035,11 @@ end See `libhdf5` documentation for [`H5Pfill_value_defined`](https://portal.hdfgroup.org/display/HDF5/H5P_FILL_VALUE_DEFINED). """ function h5p_fill_value_defined(plist, status) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pfill_value_defined, libhdf5), herr_t, (hid_t, Ptr{H5D_fill_value_t}), plist, status) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_fill_value_defined (not annotated)") return nothing @@ -6051,11 +6051,11 @@ end See `libhdf5` documentation for [`H5Pfree_merge_committed_dtype_paths`](https://portal.hdfgroup.org/display/HDF5/H5P_FREE_MERGE_COMMITTED_DTYPE_PATHS). """ function h5p_free_merge_committed_dtype_paths(plist_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pfree_merge_committed_dtype_paths, libhdf5), herr_t, (hid_t,), plist_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_free_merge_committed_dtype_paths (not annotated)") return nothing @@ -6067,11 +6067,11 @@ end See `libhdf5` documentation for [`H5Pinsert1`](https://portal.hdfgroup.org/display/HDF5/H5P_INSERT1). """ function h5p_insert(plist_id, name, size, value, prp_set, prp_get, prp_delete, prp_copy, prp_close) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pinsert1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Csize_t, Ptr{Cvoid}, H5P_prp_set_func_t, H5P_prp_get_func_t, H5P_prp_delete_func_t, H5P_prp_copy_func_t, H5P_prp_close_func_t), plist_id, name, size, value, prp_set, prp_get, prp_delete, prp_copy, prp_close) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_insert1 (not annotated)") return nothing @@ -6083,11 +6083,11 @@ end See `libhdf5` documentation for [`H5Pinsert2`](https://portal.hdfgroup.org/display/HDF5/H5P_INSERT2). """ function h5p_insert(plist_id, name, size, value, set, get, prp_del, copy, compare, close) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pinsert2, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Csize_t, Ptr{Cvoid}, H5P_prp_set_func_t, H5P_prp_get_func_t, H5P_prp_delete_func_t, H5P_prp_copy_func_t, H5P_prp_compare_func_t, H5P_prp_close_func_t), plist_id, name, size, value, set, get, prp_del, copy, compare, close) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_insert2 (not annotated)") return nothing @@ -6099,11 +6099,11 @@ end See `libhdf5` documentation for [`H5Pisa_class`](https://portal.hdfgroup.org/display/HDF5/H5P_ISA_CLASS). """ function h5p_isa_class(plist_id, pclass_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pisa_class, libhdf5), htri_t, (hid_t, hid_t), plist_id, pclass_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_isa_class (not annotated)") return var"#status#" > 0 @@ -6115,11 +6115,11 @@ end See `libhdf5` documentation for [`H5Piterate`](https://portal.hdfgroup.org/display/HDF5/H5P_ITERATE). """ function h5p_iterate(id, idx, iter_func, iter_data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Piterate, libhdf5), Cint, (hid_t, Ptr{Cint}, H5P_iterate_t, Ptr{Cvoid}), id, idx, iter_func, iter_data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_iterate (not annotated)") return Int(var"#status#") @@ -6131,11 +6131,11 @@ end See `libhdf5` documentation for [`H5Pmodify_filter`](https://portal.hdfgroup.org/display/HDF5/H5P_MODIFY_FILTER). """ function h5p_modify_filter(plist_id, filter_id, flags, cd_nelmts, cd_values) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pmodify_filter, libhdf5), herr_t, (hid_t, H5Z_filter_t, Cuint, Csize_t, Ptr{Cuint}), plist_id, filter_id, flags, cd_nelmts, cd_values) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error modifying filter") return nothing @@ -6147,11 +6147,11 @@ end See `libhdf5` documentation for [`H5Pregister1`](https://portal.hdfgroup.org/display/HDF5/H5P_REGISTER1). """ function h5p_register(cls_id, name, size, def_value, prp_create, prp_set, prp_get, prp_del, prp_copy, prp_close) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pregister1, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Csize_t, Ptr{Cvoid}, H5P_prp_create_func_t, H5P_prp_set_func_t, H5P_prp_get_func_t, H5P_prp_delete_func_t, H5P_prp_copy_func_t, H5P_prp_close_func_t), cls_id, name, size, def_value, prp_create, prp_set, prp_get, prp_del, prp_copy, prp_close) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_register1 (not annotated)") return nothing @@ -6163,11 +6163,11 @@ end See `libhdf5` documentation for [`H5Pregister2`](https://portal.hdfgroup.org/display/HDF5/H5P_REGISTER2). """ function h5p_register(cls_id, name, size, def_value, create, set, get, prp_del, copy, compare, close) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Pregister2, libhdf5), herr_t, (hid_t, Ptr{Cchar}, Csize_t, Ptr{Cvoid}, H5P_prp_create_func_t, H5P_prp_set_func_t, H5P_prp_get_func_t, H5P_prp_delete_func_t, H5P_prp_copy_func_t, H5P_prp_compare_func_t, H5P_prp_close_func_t), cls_id, name, size, def_value, create, set, get, prp_del, copy, compare, close) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_register2 (not annotated)") return nothing @@ -6179,11 +6179,11 @@ end See `libhdf5` documentation for [`H5Premove`](https://portal.hdfgroup.org/display/HDF5/H5P_REMOVE). """ function h5p_remove(plist_id, name) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Premove, libhdf5), herr_t, (hid_t, Ptr{Cchar}), plist_id, name) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_remove (not annotated)") return nothing @@ -6195,11 +6195,11 @@ end See `libhdf5` documentation for [`H5Premove_filter`](https://portal.hdfgroup.org/display/HDF5/H5P_REMOVE_FILTER). """ function h5p_remove_filter(plist_id, filter_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Premove_filter, libhdf5), herr_t, (hid_t, H5Z_filter_t), plist_id, filter_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error removing filter") return nothing @@ -6211,11 +6211,11 @@ end See `libhdf5` documentation for [`H5Punregister`](https://portal.hdfgroup.org/display/HDF5/H5P_UNREGISTER). """ function h5p_unregister(pclass_id, name) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Punregister, libhdf5), herr_t, (hid_t, Ptr{Cchar}), pclass_id, name) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in h5p_unregister (not annotated)") return nothing @@ -6227,11 +6227,11 @@ end See `libhdf5` documentation for [`H5PLset_loading_state`](https://portal.hdfgroup.org/display/HDF5/H5PL_SET_LOADING_STATE). """ function h5pl_set_loading_state(plugin_control_mask) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5PLset_loading_state, libhdf5), herr_t, (Cuint,), plugin_control_mask) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting plugin loading state") return nothing @@ -6243,11 +6243,11 @@ end See `libhdf5` documentation for [`H5PLget_loading_state`](https://portal.hdfgroup.org/display/HDF5/H5PL_GET_LOADING_STATE). """ function h5pl_get_loading_state(plugin_control_mask) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5PLget_loading_state, libhdf5), herr_t, (Ptr{Cuint},), plugin_control_mask) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting plugin loading state") return nothing @@ -6259,11 +6259,11 @@ end See `libhdf5` documentation for [`H5PLappend`](https://portal.hdfgroup.org/display/HDF5/H5PL_APPEND). """ function h5pl_append(search_path) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5PLappend, libhdf5), herr_t, (Ptr{Cchar},), search_path) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error appending plugin path") return nothing @@ -6275,11 +6275,11 @@ end See `libhdf5` documentation for [`H5PLprepend`](https://portal.hdfgroup.org/display/HDF5/H5PL_PREPEND). """ function h5pl_prepend(search_path) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5PLprepend, libhdf5), herr_t, (Ptr{Cchar},), search_path) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error prepending plugin path") return nothing @@ -6291,11 +6291,11 @@ end See `libhdf5` documentation for [`H5PLreplace`](https://portal.hdfgroup.org/display/HDF5/H5PL_REPLACE). """ function h5pl_replace(search_path, index) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5PLreplace, libhdf5), herr_t, (Ptr{Cchar}, Cuint), search_path, index) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error replacing plugin path") return nothing @@ -6307,11 +6307,11 @@ end See `libhdf5` documentation for [`H5PLinsert`](https://portal.hdfgroup.org/display/HDF5/H5PL_INSERT). """ function h5pl_insert(search_path, index) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5PLinsert, libhdf5), herr_t, (Ptr{Cchar}, Cuint), search_path, index) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error inserting plugin path") return nothing @@ -6323,11 +6323,11 @@ end See `libhdf5` documentation for [`H5PLremove`](https://portal.hdfgroup.org/display/HDF5/H5PL_REMOVE). """ function h5pl_remove(index) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5PLremove, libhdf5), herr_t, (Cuint,), index) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error removing plugin path") return nothing @@ -6339,11 +6339,11 @@ end See `libhdf5` documentation for [`H5PLget`](https://portal.hdfgroup.org/display/HDF5/H5PL_GET). """ function h5pl_get(index, path_buf, buf_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5PLget, libhdf5), Cssize_t, (Cuint, Ptr{Cchar}, Csize_t), index, path_buf, buf_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting plugin path") return var"#status#" @@ -6355,11 +6355,11 @@ end See `libhdf5` documentation for [`H5PLsize`](https://portal.hdfgroup.org/display/HDF5/H5PL_SIZE). """ function h5pl_size(num_paths) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5PLsize, libhdf5), herr_t, (Ptr{Cuint},), num_paths) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error in getting number of plugins paths") return nothing @@ -6371,11 +6371,11 @@ end See `libhdf5` documentation for [`H5Rcreate`](https://portal.hdfgroup.org/display/HDF5/H5R_CREATE). """ function h5r_create(ref, loc_id, pathname, ref_type, space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Rcreate, libhdf5), herr_t, (Ptr{Cvoid}, hid_t, Ptr{UInt8}, Cint, hid_t), ref, loc_id, pathname, ref_type, space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating reference to object ", h5i_get_name(loc_id), "/", pathname)) return nothing @@ -6387,11 +6387,11 @@ end See `libhdf5` documentation for [`H5Rdereference2`](https://portal.hdfgroup.org/display/HDF5/H5R_DEREFERENCE2). """ function h5r_dereference(obj_id, oapl_id, ref_type, ref) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Rdereference2, libhdf5), hid_t, (hid_t, hid_t, Cint, Ptr{Cvoid}), obj_id, oapl_id, ref_type, ref) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error dereferencing object") return var"#status#" @@ -6403,11 +6403,11 @@ end See `libhdf5` documentation for [`H5Rget_obj_type2`](https://portal.hdfgroup.org/display/HDF5/H5R_GET_OBJ_TYPE2). """ function h5r_get_obj_type(loc_id, ref_type, ref, obj_type) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Rget_obj_type2, libhdf5), herr_t, (hid_t, Cint, Ptr{Cvoid}, Ptr{Cint}), loc_id, ref_type, ref, obj_type) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting object type") return nothing @@ -6419,11 +6419,11 @@ end See `libhdf5` documentation for [`H5Rget_region`](https://portal.hdfgroup.org/display/HDF5/H5R_GET_REGION). """ function h5r_get_region(loc_id, ref_type, ref) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Rget_region, libhdf5), hid_t, (hid_t, Cint, Ptr{Cvoid}), loc_id, ref_type, ref) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting region from reference") return var"#status#" @@ -6435,11 +6435,11 @@ end See `libhdf5` documentation for [`H5Sclose`](https://portal.hdfgroup.org/display/HDF5/H5S_CLOSE). """ function h5s_close(space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sclose, libhdf5), herr_t, (hid_t,), space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing dataspace") return nothing @@ -6452,11 +6452,11 @@ end See `libhdf5` documentation for [`H5Scombine_select`](https://portal.hdfgroup.org/display/HDF5/H5S_COMBINE_SELECT). """ function h5s_combine_select(space1_id, op, space2_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Scombine_select, libhdf5), hid_t, (hid_t, Cint, hid_t), space1_id, op, space2_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error combining dataspaces") return var"#status#" @@ -6469,11 +6469,11 @@ end See `libhdf5` documentation for [`H5Scopy`](https://portal.hdfgroup.org/display/HDF5/H5S_COPY). """ function h5s_copy(space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Scopy, libhdf5), hid_t, (hid_t,), space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error copying dataspace") return var"#status#" @@ -6485,11 +6485,11 @@ end See `libhdf5` documentation for [`H5Screate`](https://portal.hdfgroup.org/display/HDF5/H5S_CREATE). """ function h5s_create(class) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Screate, libhdf5), hid_t, (Cint,), class) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating dataspace") return var"#status#" @@ -6501,11 +6501,11 @@ end See `libhdf5` documentation for [`H5Screate_simple`](https://portal.hdfgroup.org/display/HDF5/H5S_CREATE_SIMPLE). """ function h5s_create_simple(rank, current_dims, maximum_dims) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Screate_simple, libhdf5), hid_t, (Cint, Ptr{hsize_t}, Ptr{hsize_t}), rank, current_dims, maximum_dims) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating simple dataspace") return var"#status#" @@ -6517,11 +6517,11 @@ end See `libhdf5` documentation for [`H5Sextent_equal`](https://portal.hdfgroup.org/display/HDF5/H5S_EXTENT_EQUAL). """ function h5s_extent_equal(space1_id, space2_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sextent_equal, libhdf5), htri_t, (hid_t, hid_t), space1_id, space2_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error comparing dataspaces") return var"#status#" > 0 @@ -6533,11 +6533,11 @@ end See `libhdf5` documentation for [`H5Sget_regular_hyperslab`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_REGULAR_HYPERSLAB). """ function h5s_get_regular_hyperslab(space_id, start, stride, count, block) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sget_regular_hyperslab, libhdf5), herr_t, (hid_t, Ptr{hsize_t}, Ptr{hsize_t}, Ptr{hsize_t}, Ptr{hsize_t}), space_id, start, stride, count, block) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting regular hyperslab selection") return nothing @@ -6549,11 +6549,11 @@ end See `libhdf5` documentation for [`H5Sget_simple_extent_dims`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SIMPLE_EXTENT_DIMS). """ function h5s_get_simple_extent_dims(space_id, dims, maxdims) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sget_simple_extent_dims, libhdf5), Cint, (hid_t, Ptr{hsize_t}, Ptr{hsize_t}), space_id, dims, maxdims) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the dimensions for a dataspace") return Int(var"#status#") @@ -6565,11 +6565,11 @@ end See `libhdf5` documentation for [`H5Sget_simple_extent_ndims`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SIMPLE_EXTENT_NDIMS). """ function h5s_get_simple_extent_ndims(space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sget_simple_extent_ndims, libhdf5), Cint, (hid_t,), space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the number of dimensions for a dataspace") return Int(var"#status#") @@ -6581,11 +6581,11 @@ end See `libhdf5` documentation for [`H5Sget_simple_extent_type`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SIMPLE_EXTENT_TYPE). """ function h5s_get_simple_extent_type(space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sget_simple_extent_type, libhdf5), Cint, (hid_t,), space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the dataspace type") return Int(var"#status#") @@ -6597,11 +6597,11 @@ end See `libhdf5` documentation for [`H5Sget_select_hyper_nblocks`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SELECT_HYPER_NBLOCKS). """ function h5s_get_select_hyper_nblocks(space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sget_select_hyper_nblocks, libhdf5), hssize_t, (hid_t,), space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting number of selected blocks") return var"#status#" @@ -6613,11 +6613,11 @@ end See `libhdf5` documentation for [`H5Sget_select_npoints`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SELECT_NPOINTS). """ function h5s_get_select_npoints(space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sget_select_npoints, libhdf5), hsize_t, (hid_t,), space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" == -1 % hsize_t && @h5error("Error getting the number of selected points") return var"#status#" @@ -6629,11 +6629,11 @@ end See `libhdf5` documentation for [`H5Sget_select_type`](https://portal.hdfgroup.org/display/HDF5/H5S_GET_SELECT_TYPE). """ function h5s_get_select_type(space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sget_select_type, libhdf5), Cint, (hid_t,), space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the selection type") return Int(var"#status#") @@ -6645,11 +6645,11 @@ end See `libhdf5` documentation for [`H5Sis_regular_hyperslab`](https://portal.hdfgroup.org/display/HDF5/H5S_IS_REGULAR_HYPERSLAB). """ function h5s_is_regular_hyperslab(space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sis_regular_hyperslab, libhdf5), htri_t, (hid_t,), space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining whether datapace is regular hyperslab") return var"#status#" > 0 @@ -6661,11 +6661,11 @@ end See `libhdf5` documentation for [`H5Sis_simple`](https://portal.hdfgroup.org/display/HDF5/H5S_IS_SIMPLE). """ function h5s_is_simple(space_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sis_simple, libhdf5), htri_t, (hid_t,), space_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining whether dataspace is simple") return var"#status#" > 0 @@ -6677,11 +6677,11 @@ end See `libhdf5` documentation for [`H5Sselect_hyperslab`](https://portal.hdfgroup.org/display/HDF5/H5S_SELECT_HYPERSLAB). """ function h5s_select_hyperslab(dspace_id, seloper, start, stride, count, block) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sselect_hyperslab, libhdf5), herr_t, (hid_t, Cint, Ptr{hsize_t}, Ptr{hsize_t}, Ptr{hsize_t}, Ptr{hsize_t}), dspace_id, seloper, start, stride, count, block) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error selecting hyperslab") return nothing @@ -6693,11 +6693,11 @@ end See `libhdf5` documentation for [`H5Sset_extent_simple`](https://portal.hdfgroup.org/display/HDF5/H5S_SET_EXTENT_SIMPLE). """ function h5s_set_extent_simple(dspace_id, rank, current_size, maximum_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Sset_extent_simple, libhdf5), herr_t, (hid_t, Cint, Ptr{hsize_t}, Ptr{hsize_t}), dspace_id, rank, current_size, maximum_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting dataspace size") return nothing @@ -6709,11 +6709,11 @@ end See `libhdf5` documentation for [`H5Tarray_create2`](https://portal.hdfgroup.org/display/HDF5/H5T_ARRAY_CREATE2). """ function h5t_array_create(basetype_id, ndims, sz) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tarray_create2, libhdf5), hid_t, (hid_t, Cuint, Ptr{hsize_t}), basetype_id, ndims, sz) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating H5T_ARRAY of id ", basetype_id, " and size ", sz)) return var"#status#" @@ -6725,11 +6725,11 @@ end See `libhdf5` documentation for [`H5Tclose`](https://portal.hdfgroup.org/display/HDF5/H5T_CLOSE). """ function h5t_close(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tclose, libhdf5), herr_t, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error closing datatype") return nothing @@ -6741,11 +6741,11 @@ end See `libhdf5` documentation for [`H5Tcommitted`](https://portal.hdfgroup.org/display/HDF5/H5T_COMMITTED). """ function h5t_committed(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tcommitted, libhdf5), htri_t, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining whether datatype is committed") return var"#status#" > 0 @@ -6757,11 +6757,11 @@ end See `libhdf5` documentation for [`H5Tcommit2`](https://portal.hdfgroup.org/display/HDF5/H5T_COMMIT2). """ function h5t_commit(loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tcommit2, libhdf5), herr_t, (hid_t, Ptr{UInt8}, hid_t, hid_t, hid_t, hid_t), loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error committing type") return nothing @@ -6773,11 +6773,11 @@ end See `libhdf5` documentation for [`H5Tcopy`](https://portal.hdfgroup.org/display/HDF5/H5T_COPY). """ function h5t_copy(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tcopy, libhdf5), hid_t, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error copying datatype") return var"#status#" @@ -6789,11 +6789,11 @@ end See `libhdf5` documentation for [`H5Tcreate`](https://portal.hdfgroup.org/display/HDF5/H5T_CREATE). """ function h5t_create(class_id, sz) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tcreate, libhdf5), hid_t, (Cint, Csize_t), class_id, sz) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error creating datatype of id ", class_id)) return var"#status#" @@ -6805,11 +6805,11 @@ end See `libhdf5` documentation for [`H5Tenum_insert`](https://portal.hdfgroup.org/display/HDF5/H5T_ENUM_INSERT). """ function h5t_enum_insert(dtype_id, name, value) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tenum_insert, libhdf5), herr_t, (hid_t, Cstring, Ptr{Cvoid}), dtype_id, name, value) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error adding ", name, " to enum datatype")) return nothing @@ -6821,11 +6821,11 @@ end See `libhdf5` documentation for [`H5Tequal`](https://portal.hdfgroup.org/display/HDF5/H5T_EQUAL). """ function h5t_equal(dtype_id1, dtype_id2) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tequal, libhdf5), htri_t, (hid_t, hid_t), dtype_id1, dtype_id2) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error checking datatype equality") return var"#status#" > 0 @@ -6837,11 +6837,11 @@ end See `libhdf5` documentation for [`H5Tget_array_dims2`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_ARRAY_DIMS2). """ function h5t_get_array_dims(dtype_id, dims) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_array_dims2, libhdf5), Cint, (hid_t, Ptr{hsize_t}), dtype_id, dims) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting dimensions of array") return Int(var"#status#") @@ -6853,11 +6853,11 @@ end See `libhdf5` documentation for [`H5Tget_array_ndims`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_ARRAY_NDIMS). """ function h5t_get_array_ndims(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_array_ndims, libhdf5), Cint, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting ndims of array") return Int(var"#status#") @@ -6869,11 +6869,11 @@ end See `libhdf5` documentation for [`H5Tget_class`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_CLASS). """ function h5t_get_class(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_class, libhdf5), Cint, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting class") return Int(var"#status#") @@ -6885,11 +6885,11 @@ end See `libhdf5` documentation for [`H5Tget_cset`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_CSET). """ function h5t_get_cset(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_cset, libhdf5), Cint, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting character set encoding") return Int(var"#status#") @@ -6901,11 +6901,11 @@ end See `libhdf5` documentation for [`H5Tget_ebias`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_EBIAS). """ function h5t_get_ebias(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_ebias, libhdf5), Csize_t, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end @h5error "Error getting exponent bias" return var"#status#" @@ -6917,11 +6917,11 @@ end See `libhdf5` documentation for [`H5Tget_fields`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_FIELDS). """ function h5t_get_fields(dtype_id, spos, epos, esize, mpos, msize) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_fields, libhdf5), herr_t, (hid_t, Ref{Csize_t}, Ref{Csize_t}, Ref{Csize_t}, Ref{Csize_t}, Ref{Csize_t}), dtype_id, spos, epos, esize, mpos, msize) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting datatype floating point bit positions") return nothing @@ -6933,11 +6933,11 @@ end See `libhdf5` documentation for [`H5Tget_member_class`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_MEMBER_CLASS). """ function h5t_get_member_class(dtype_id, index) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_member_class, libhdf5), Cint, (hid_t, Cuint), dtype_id, index) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting class of compound datatype member #", index)) return Int(var"#status#") @@ -6949,11 +6949,11 @@ end See `libhdf5` documentation for [`H5Tget_member_index`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_MEMBER_INDEX). """ function h5t_get_member_index(dtype_id, membername) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_member_index, libhdf5), Cint, (hid_t, Ptr{UInt8}), dtype_id, membername) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting index of compound datatype member \"", membername, "\"")) return Int(var"#status#") @@ -6965,11 +6965,11 @@ end See `libhdf5` documentation for [`H5Tget_member_offset`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_MEMBER_OFFSET). """ function h5t_get_member_offset(dtype_id, index) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_member_offset, libhdf5), Csize_t, (hid_t, Cuint), dtype_id, index) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end @h5error "Error getting offset of compound datatype #$(index)" return var"#status#" @@ -6981,11 +6981,11 @@ end See `libhdf5` documentation for [`H5Tget_member_type`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_MEMBER_TYPE). """ function h5t_get_member_type(dtype_id, index) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_member_type, libhdf5), hid_t, (hid_t, Cuint), dtype_id, index) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error getting type of compound datatype member #", index)) return var"#status#" @@ -6997,11 +6997,11 @@ end See `libhdf5` documentation for [`H5Tget_native_type`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_NATIVE_TYPE). """ function h5t_get_native_type(dtype_id, direction) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_native_type, libhdf5), hid_t, (hid_t, Cint), dtype_id, direction) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting native type") return var"#status#" @@ -7013,11 +7013,11 @@ end See `libhdf5` documentation for [`H5Tget_nmembers`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_NMEMBERS). """ function h5t_get_nmembers(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_nmembers, libhdf5), Cint, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting the number of members") return Int(var"#status#") @@ -7029,11 +7029,11 @@ end See `libhdf5` documentation for [`H5Tget_offset`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_OFFSET). """ function h5t_get_offset(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_offset, libhdf5), Cint, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting offset") return Int(var"#status#") @@ -7045,11 +7045,11 @@ end See `libhdf5` documentation for [`H5Tget_order`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_ORDER). """ function h5t_get_order(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_order, libhdf5), Cint, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting order") return Int(var"#status#") @@ -7061,11 +7061,11 @@ end See `libhdf5` documentation for [`H5Tget_precision`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_PRECISION). """ function h5t_get_precision(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_precision, libhdf5), Csize_t, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end @h5error "Error getting precision" return var"#status#" @@ -7077,11 +7077,11 @@ end See `libhdf5` documentation for [`H5Tget_sign`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_SIGN). """ function h5t_get_sign(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_sign, libhdf5), Cint, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting sign") return Int(var"#status#") @@ -7093,11 +7093,11 @@ end See `libhdf5` documentation for [`H5Tget_size`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_SIZE). """ function h5t_get_size(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_size, libhdf5), Csize_t, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end @h5error "Error getting type size" return var"#status#" @@ -7109,11 +7109,11 @@ end See `libhdf5` documentation for [`H5Tget_strpad`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_STRPAD). """ function h5t_get_strpad(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_strpad, libhdf5), Cint, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting string padding") return Int(var"#status#") @@ -7125,11 +7125,11 @@ end See `libhdf5` documentation for [`H5Tget_super`](https://portal.hdfgroup.org/display/HDF5/H5T_GET_SUPER). """ function h5t_get_super(dtype_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tget_super, libhdf5), hid_t, (hid_t,), dtype_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting super type") return var"#status#" @@ -7141,11 +7141,11 @@ end See `libhdf5` documentation for [`H5Tinsert`](https://portal.hdfgroup.org/display/HDF5/H5T_INSERT). """ function h5t_insert(dtype_id, fieldname, offset, field_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tinsert, libhdf5), herr_t, (hid_t, Ptr{UInt8}, Csize_t, hid_t), dtype_id, fieldname, offset, field_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error adding field ", fieldname, " to compound datatype")) return nothing @@ -7157,11 +7157,11 @@ end See `libhdf5` documentation for [`H5Tis_variable_str`](https://portal.hdfgroup.org/display/HDF5/H5T_IS_VARIABLE_STR). """ function h5t_is_variable_str(type_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tis_variable_str, libhdf5), htri_t, (hid_t,), type_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error determining whether string is of variable length") return var"#status#" > 0 @@ -7173,11 +7173,11 @@ end See `libhdf5` documentation for [`H5Tlock`](https://portal.hdfgroup.org/display/HDF5/H5T_LOCK). """ function h5t_lock(type_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tlock, libhdf5), herr_t, (hid_t,), type_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error locking type") return nothing @@ -7189,11 +7189,11 @@ end See `libhdf5` documentation for [`H5Topen2`](https://portal.hdfgroup.org/display/HDF5/H5T_OPEN2). """ function h5t_open(loc_id, name, tapl_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Topen2, libhdf5), hid_t, (hid_t, Ptr{UInt8}, hid_t), loc_id, name, tapl_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error(string("Error opening type ", h5i_get_name(loc_id), "/", name)) return var"#status#" @@ -7205,11 +7205,11 @@ end See `libhdf5` documentation for [`H5Tset_cset`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_CSET). """ function h5t_set_cset(dtype_id, cset) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tset_cset, libhdf5), herr_t, (hid_t, Cint), dtype_id, cset) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting character set in datatype") return nothing @@ -7221,11 +7221,11 @@ end See `libhdf5` documentation for [`H5Tset_ebias`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_EBIAS). """ function h5t_set_ebias(dtype_id, ebias) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tset_ebias, libhdf5), herr_t, (hid_t, Csize_t), dtype_id, ebias) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting datatype floating point exponent bias") return nothing @@ -7237,11 +7237,11 @@ end See `libhdf5` documentation for [`H5Tset_fields`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_FIELDS). """ function h5t_set_fields(dtype_id, spos, epos, esize, mpos, msize) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tset_fields, libhdf5), herr_t, (hid_t, Csize_t, Csize_t, Csize_t, Csize_t, Csize_t), dtype_id, spos, epos, esize, mpos, msize) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting datatype floating point bit positions") return nothing @@ -7253,11 +7253,11 @@ end See `libhdf5` documentation for [`H5Tset_offset`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_OFFSET). """ function h5t_set_offset(dtype_id, offset) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tset_offset, libhdf5), herr_t, (hid_t, Csize_t), dtype_id, offset) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting offset") return nothing @@ -7269,11 +7269,11 @@ end See `libhdf5` documentation for [`H5Tset_order`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_ORDER). """ function h5t_set_order(dtype_id, order) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tset_order, libhdf5), herr_t, (hid_t, Cint), dtype_id, order) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting order") return nothing @@ -7285,11 +7285,11 @@ end See `libhdf5` documentation for [`H5Tset_precision`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_PRECISION). """ function h5t_set_precision(dtype_id, sz) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tset_precision, libhdf5), herr_t, (hid_t, Csize_t), dtype_id, sz) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting precision of datatype") return nothing @@ -7301,11 +7301,11 @@ end See `libhdf5` documentation for [`H5Tset_size`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_SIZE). """ function h5t_set_size(dtype_id, sz) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tset_size, libhdf5), herr_t, (hid_t, Csize_t), dtype_id, sz) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting size of datatype") return nothing @@ -7317,11 +7317,11 @@ end See `libhdf5` documentation for [`H5Tset_strpad`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_STRPAD). """ function h5t_set_strpad(dtype_id, sz) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tset_strpad, libhdf5), herr_t, (hid_t, Cint), dtype_id, sz) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting size of datatype") return nothing @@ -7333,11 +7333,11 @@ end See `libhdf5` documentation for [`H5Tset_tag`](https://portal.hdfgroup.org/display/HDF5/H5T_SET_TAG). """ function h5t_set_tag(dtype_id, tag) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tset_tag, libhdf5), herr_t, (hid_t, Cstring), dtype_id, tag) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error setting opaque tag") return nothing @@ -7349,11 +7349,11 @@ end See `libhdf5` documentation for [`H5Tvlen_create`](https://portal.hdfgroup.org/display/HDF5/H5T_VLEN_CREATE). """ function h5t_vlen_create(base_type_id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Tvlen_create, libhdf5), hid_t, (hid_t,), base_type_id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating vlen type") return var"#status#" @@ -7365,11 +7365,11 @@ end See `libhdf5` documentation for [`H5DOappend`](https://portal.hdfgroup.org/display/HDF5/H5DO_APPEND). """ function h5do_append(dset_id, dxpl_id, index, num_elem, memtype, buffer) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DOappend, libhdf5_hl), herr_t, (hid_t, hid_t, Cuint, hsize_t, hid_t, Ptr{Cvoid}), dset_id, dxpl_id, index, num_elem, memtype, buffer) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("error appending") return nothing @@ -7381,11 +7381,11 @@ end See `libhdf5` documentation for [`H5DOwrite_chunk`](https://portal.hdfgroup.org/display/HDF5/H5DO_WRITE_CHUNK). """ function h5do_write_chunk(dset_id, dxpl_id, filter_mask, offset, bufsize, buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DOwrite_chunk, libhdf5_hl), herr_t, (hid_t, hid_t, UInt32, Ptr{hsize_t}, Csize_t, Ptr{Cvoid}), dset_id, dxpl_id, filter_mask, offset, bufsize, buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing chunk") return nothing @@ -7397,11 +7397,11 @@ end See `libhdf5` documentation for [`H5DSattach_scale`](https://portal.hdfgroup.org/display/HDF5/H5DS_ATTACH_SCALE). """ function h5ds_attach_scale(did, dsid, idx) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DSattach_scale, libhdf5_hl), herr_t, (hid_t, hid_t, Cuint), did, dsid, idx) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to attach scale") return nothing @@ -7413,11 +7413,11 @@ end See `libhdf5` documentation for [`H5DSdetach_scale`](https://portal.hdfgroup.org/display/HDF5/H5DS_DETACH_SCALE). """ function h5ds_detach_scale(did, dsid, idx) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DSdetach_scale, libhdf5_hl), herr_t, (hid_t, hid_t, Cuint), did, dsid, idx) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to detach scale") return nothing @@ -7429,11 +7429,11 @@ end See `libhdf5` documentation for [`H5DSget_label`](https://portal.hdfgroup.org/display/HDF5/H5DS_GET_LABEL). """ function h5ds_get_label(did, idx, label, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DSget_label, libhdf5_hl), herr_t, (hid_t, Cuint, Ptr{UInt8}, hsize_t), did, idx, label, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to get label") return nothing @@ -7445,11 +7445,11 @@ end See `libhdf5` documentation for [`H5DSget_num_scales`](https://portal.hdfgroup.org/display/HDF5/H5DS_GET_NUM_SCALES). """ function h5ds_get_num_scales(did, idx) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DSget_num_scales, libhdf5_hl), Cint, (hid_t, Cuint), did, idx) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting number of scales") return Int(var"#status#") @@ -7461,11 +7461,11 @@ end See `libhdf5` documentation for [`H5DSget_scale_name`](https://portal.hdfgroup.org/display/HDF5/H5DS_GET_SCALE_NAME). """ function h5ds_get_scale_name(did, name, size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DSget_scale_name, libhdf5_hl), Cssize_t, (hid_t, Ptr{UInt8}, Csize_t), did, name, size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to get scale name") return var"#status#" @@ -7477,11 +7477,11 @@ end See `libhdf5` documentation for [`H5DSis_attached`](https://portal.hdfgroup.org/display/HDF5/H5DS_IS_ATTACHED). """ function h5ds_is_attached(did, dsid, idx) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DSis_attached, libhdf5_hl), htri_t, (hid_t, hid_t, Cuint), did, dsid, idx) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to check if dimension is attached") return var"#status#" > 0 @@ -7493,11 +7493,11 @@ end See `libhdf5` documentation for [`H5DSis_scale`](https://portal.hdfgroup.org/display/HDF5/H5DS_IS_SCALE). """ function h5ds_is_scale(did) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DSis_scale, libhdf5_hl), htri_t, (hid_t,), did) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to check if dataset is scale") return var"#status#" > 0 @@ -7509,11 +7509,11 @@ end See `libhdf5` documentation for [`H5DSset_label`](https://portal.hdfgroup.org/display/HDF5/H5DS_SET_LABEL). """ function h5ds_set_label(did, idx, label) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DSset_label, libhdf5_hl), herr_t, (hid_t, Cuint, Ref{UInt8}), did, idx, label) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to set label") return nothing @@ -7525,11 +7525,11 @@ end See `libhdf5` documentation for [`H5DSset_scale`](https://portal.hdfgroup.org/display/HDF5/H5DS_SET_SCALE). """ function h5ds_set_scale(dsid, dimname) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5DSset_scale, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}), dsid, dimname) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to set scale") return nothing @@ -7541,11 +7541,11 @@ end See `libhdf5` documentation for [`H5LTdtype_to_text`](https://portal.hdfgroup.org/display/HDF5/H5LT_DTYPE_TO_TEXT). """ function h5lt_dtype_to_text(datatype, str, lang_type, len) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5LTdtype_to_text, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, Cint, Ref{Csize_t}), datatype, str, lang_type, len) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting datatype text representation") return nothing @@ -7557,11 +7557,11 @@ end See `libhdf5` documentation for [`H5TBappend_records`](https://portal.hdfgroup.org/display/HDF5/H5TB_APPEND_RECORDS). """ function h5tb_append_records(loc_id, dset_name, nrecords, type_size, field_offset, field_sizes, data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5TBappend_records, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, hsize_t, Csize_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cvoid}), loc_id, dset_name, nrecords, type_size, field_offset, field_sizes, data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error adding record to table") return nothing @@ -7573,11 +7573,11 @@ end See `libhdf5` documentation for [`H5TBget_field_info`](https://portal.hdfgroup.org/display/HDF5/H5TB_GET_FIELD_INFO). """ function h5tb_get_field_info(loc_id, table_name, field_names, field_sizes, field_offsets, type_size) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5TBget_field_info, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, Ptr{Ptr{UInt8}}, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Csize_t}), loc_id, table_name, field_names, field_sizes, field_offsets, type_size) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting field information") return nothing @@ -7589,11 +7589,11 @@ end See `libhdf5` documentation for [`H5TBget_table_info`](https://portal.hdfgroup.org/display/HDF5/H5TB_GET_TABLE_INFO). """ function h5tb_get_table_info(loc_id, table_name, nfields, nrecords) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5TBget_table_info, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, Ptr{hsize_t}, Ptr{hsize_t}), loc_id, table_name, nfields, nrecords) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting table information") return nothing @@ -7605,11 +7605,11 @@ end See `libhdf5` documentation for [`H5TBmake_table`](https://portal.hdfgroup.org/display/HDF5/H5TB_MAKE_TABLE). """ function h5tb_make_table(table_title, loc_id, dset_name, nfields, nrecords, type_size, field_names, field_offset, field_types, chunk_size, fill_data, compress, data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5TBmake_table, libhdf5_hl), herr_t, (Ptr{UInt8}, hid_t, Ptr{UInt8}, hsize_t, hsize_t, Csize_t, Ptr{Ptr{UInt8}}, Ptr{Csize_t}, Ptr{hid_t}, hsize_t, Ptr{Cvoid}, Cint, Ptr{Cvoid}), table_title, loc_id, dset_name, nfields, nrecords, type_size, field_names, field_offset, field_types, chunk_size, fill_data, compress, data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error creating and writing dataset to table") return nothing @@ -7621,11 +7621,11 @@ end See `libhdf5` documentation for [`H5TBread_records`](https://portal.hdfgroup.org/display/HDF5/H5TB_READ_RECORDS). """ function h5tb_read_records(loc_id, table_name, start, nrecords, type_size, field_offsets, dst_sizes, data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5TBread_records, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, hsize_t, hsize_t, Csize_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cvoid}), loc_id, table_name, start, nrecords, type_size, field_offsets, dst_sizes, data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error reading record from table") return nothing @@ -7637,11 +7637,11 @@ end See `libhdf5` documentation for [`H5TBread_table`](https://portal.hdfgroup.org/display/HDF5/H5TB_READ_TABLE). """ function h5tb_read_table(loc_id, table_name, dst_size, dst_offset, dst_sizes, dst_buf) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5TBread_table, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, Csize_t, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Cvoid}), loc_id, table_name, dst_size, dst_offset, dst_sizes, dst_buf) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error reading table") return nothing @@ -7653,11 +7653,11 @@ end See `libhdf5` documentation for [`H5TBwrite_records`](https://portal.hdfgroup.org/display/HDF5/H5TB_WRITE_RECORDS). """ function h5tb_write_records(loc_id, table_name, start, nrecords, type_size, field_offsets, field_sizes, data) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5TBwrite_records, libhdf5_hl), herr_t, (hid_t, Ptr{UInt8}, hsize_t, hsize_t, Csize_t, Ptr{UInt8}, Ptr{UInt8}, Ptr{Cvoid}), loc_id, table_name, start, nrecords, type_size, field_offsets, field_sizes, data) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error writing record to table") return nothing @@ -7669,11 +7669,11 @@ end See `libhdf5` documentation for [`H5Zregister`](https://portal.hdfgroup.org/display/HDF5/H5Z_REGISTER). """ function h5z_register(filter_class) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Zregister, libhdf5), herr_t, (Ref{H5Z_class_t},), filter_class) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to register new filter") return nothing @@ -7685,11 +7685,11 @@ end See `libhdf5` documentation for [`H5Zunregister`](https://portal.hdfgroup.org/display/HDF5/H5Z_UNREGISTER). """ function h5z_unregister(id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Zunregister, libhdf5), herr_t, (H5Z_filter_t,), id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to unregister filter") return nothing @@ -7701,11 +7701,11 @@ end See `libhdf5` documentation for [`H5Zfilter_avail`](https://portal.hdfgroup.org/display/HDF5/H5Z_FILTER_AVAIL). """ function h5z_filter_avail(id) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Zfilter_avail, libhdf5), htri_t, (H5Z_filter_t,), id) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Unable to get check filter availability") return var"#status#" > 0 @@ -7717,11 +7717,11 @@ end See `libhdf5` documentation for [`H5Zget_filter_info`](https://portal.hdfgroup.org/display/HDF5/H5Z_GET_FILTER_INFO). """ function h5z_get_filter_info(filter, filter_config_flags) - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5Zget_filter_info, libhdf5), herr_t, (H5Z_filter_t, Ptr{Cuint}), filter, filter_config_flags) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error getting filter information") return nothing @@ -7733,11 +7733,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_CORE`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_core_init() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5FD_core_init, libhdf5), hid_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7749,11 +7749,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_FAMILY`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_family_init() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5FD_family_init, libhdf5), hid_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7765,11 +7765,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_LOG`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_log_init() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5FD_log_init, libhdf5), hid_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7781,11 +7781,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_MPIO`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_mpio_init() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5FD_mpio_init, libhdf5), hid_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7797,11 +7797,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_MULTI`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_multi_init() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5FD_multi_init, libhdf5), hid_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7813,11 +7813,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_SEC2`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_sec2_init() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5FD_sec2_init, libhdf5), hid_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" @@ -7829,11 +7829,11 @@ end This function is exposed in `libhdf5` as the macro `H5FD_STDIO`. See `libhdf5` documentation for [`H5Pget_driver`](https://portal.hdfgroup.org/display/HDF5/H5P_GET_DRIVER). """ function h5fd_stdio_init() - use_lock() && lock(liblock) + use_api_lock && lock(liblock) var"#status#" = try ccall((:H5FD_stdio_init, libhdf5), hid_t, ()) finally - use_lock() && unlock(liblock) + use_api_lock && unlock(liblock) end var"#status#" < 0 && @h5error("Error initializing file driver") return var"#status#" diff --git a/src/api/lock.jl b/src/api/lock.jl index 5e7f71687..565f7ad9d 100644 --- a/src/api/lock.jl +++ b/src/api/lock.jl @@ -1,66 +1,22 @@ const liblock = ReentrantLock() """ - HDF5.API.use_lock_pref::Symbol + HDF5.API.use_api_lock::Bool Julia compile time preference of whether to use a `ReentrantLock`. By default the HDF5 C library is not thread-safe. Concurrent calls to the HDF5 library from multiple threads will likely fail. """ -const use_lock_pref = Symbol(Preferences.@load_preference("use_api_lock", default = "sometimes")) +const use_api_lock = Preferences.@load_preference("use_api_lock", default = true) -# _use_lock is for internal or debugging use only and will be ignored when use_lock_pref is :always or :never -@static if use_lock_pref == :always - const _use_lock = Ref(true) - - """ - HDF5.API.use_lock() = true - - A lock will always be used regardless of the number of threads used as - configured at compile time. - - See [`HDF.API.get_use_lock_pref`](@ref) and [`HDF5.API.set_use_lock_pref!`](@ref). - """ - @inline use_lock() = true - -elseif use_lock_pref == :never - const _use_lock = Ref(false) - - """ - HDF5.API.use_lock() = false - - The use of a lock during multithreading has been disabled at compile time. - - See [`HDF.API.get_use_lock_pref`](@ref) and [`HDF5.API.set_use_lock_pref!`](@ref). - """ - @inline use_lock() = false - -else - # The default is :sometimes, but warn if an unknown value is used. - @static if use_lock_pref != :sometimes - @warn """An unknown HDF5 `use_lock` preference of "$use_lock_pref" - was loaded. The `use_lock` will default to `:sometimes`. - Use `HDF5.API.set_use_lock_pref!(:sometimes)` to remove this warning.""" - end - - const _use_lock = Ref(true) - - """ - HDF5.API.use_lock() - - Determine whether to use a lock at runtime or not. This is called by each - low-level API function in HDF5.API. - - By default, this will return `true` if `Threads.nthreads() > 1` and `false` - otherwise. - - See [`HDF.API.get_use_lock_pref`](@ref) and [`HDF5.API.set_use_lock_pref!`](@ref). - """ - @inline use_lock() = _use_lock[] +@static if !(use_api_lock isa Bool) + error("""An unknown HDF5 `use_api_lock` preference of "$use_api_lock" + was loaded. The `use_api_lock` will default to `true`. + Use `HDF5.API.set_use_api_lock!(true)` to remove this warning.""") end """ - HDF5.API.set_use_lock_pref!(use_lock::Symbol) + HDF5.API.set_use_api_lock!(use_lock::Bool) Set the compile time preference configuration whether to use a lock or not when using multithreading. @@ -68,36 +24,32 @@ when using multithreading. Restarting Julia will be required for this preference to take effect since the HDF5 package will need to be recompiled. -There are three valid values. -* `:always`, A `ReentrantLock` is always used when calling a low-level API function. -* `:sometimes`, A `ReentrantLock` is used when using multithreading, e.g. `Threads.nthreads() > 1`. -* `:never`, A `RenntrantLock is only used with finalizers. The user is responsible for calling `lock(HDF5.API.liblock)`. +The valid values are `true` or `false`. -See also [`HDF5.API.get_use_lock_pref`](@ref). +See also [`HDF5.API.get_use_api_lock`](@ref). """ -function set_use_lock_pref!(use_api_lock::Symbol) - use_api_lock in (:always, :sometimes, :never) || error("The argument `use_lock` must be either `:always`, `:sometimes`, or `:never`.") +function set_use_api_lock!(use_api_lock::Bool) @info "Please restart Julia for the use_lock preference to take effect" - Preferences.@set_preferences!("use_api_lock" => string(use_api_lock)) + Preferences.@set_preferences!("use_api_lock" => use_api_lock) end """ - get_use_lock_pref() + get_use_api_lock() Get the compile time preference configuration whether to use a lock or not when using multithreading. -See [`HDF5.API.set_use_lock_pref!`](@ref) for the definition of the values. +See [`HDF5.API.set_use_api_lock!`](@ref) for the definition of the values. """ -function get_use_lock_pref() - return use_lock_pref +function get_use_api_lock() + return use_api_lock end """ HDF5.API.lock_and_close(obj) Acquire HDF5.API.liblock before trying to close `obj`. This will always acquire -the lock regardless of the value of `HDF5.API.get_use_lock_pref()`. It is +the lock regardless of the value of `HDF5.API.get_use_api_lock()`. It is intended for use with finalizers. """ function lock_and_close(obj) diff --git a/src/api/rawapi.jl b/src/api/rawapi.jl deleted file mode 100644 index 042ffb477..000000000 --- a/src/api/rawapi.jl +++ /dev/null @@ -1,50 +0,0 @@ -""" - HFD5.RawAPI - -Low-level HDF5 API without locks. -""" -module RawAPI - -import Libdl -using Base: StringVector - -const depsfile = joinpath(@__DIR__, "..", "..", "deps", "deps.jl") -if isfile(depsfile) - include(depsfile) -else - error( - "HDF5 is not properly installed. Please run Pkg.build(\"HDF5\") ", - "and restart Julia." - ) -end - -const _use_lock = false -use_lock() = _use_lock -lock_and_close(obj) = close(obj) - -include("types.jl") -include("error.jl") -include("functions.jl") # core API ccall wrappers -include("helpers.jl") - -function __init__() - # HDF5.API.__init__() is run before HDF5.__init__() - - # From deps.jl - check_deps() - - # Ensure this is reinitialized on using - libhdf5handle[] = Libdl.dlopen(libhdf5) - - # Disable file locking as that can cause problems with mmap'ing. - # File locking is disabled in HDF5.init!(::FileAccessPropertyList) - # or here if h5p_set_file_locking is not available - @static if !has_h5p_set_file_locking() && !haskey(ENV, "HDF5_USE_FILE_LOCKING") - ENV["HDF5_USE_FILE_LOCKING"] = "FALSE" - end - - # use our own error handling machinery (i.e. turn off automatic error printing) - h5e_set_auto(H5E_DEFAULT, C_NULL, C_NULL) -end - -end # module API From a55f1ea19b14a234f5ec6e3f4ee40997836e470f Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Mon, 7 Nov 2022 23:56:40 -0500 Subject: [PATCH 04/14] Fix file handle leak --- test/virtual_dataset.jl | 66 +++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/test/virtual_dataset.jl b/test/virtual_dataset.jl index e76b4cb61..5aa6d11e1 100644 --- a/test/virtual_dataset.jl +++ b/test/virtual_dataset.jl @@ -5,36 +5,38 @@ using Test, HDF5 filename = joinpath(dirname, "main.hdf5") - f = h5open(filename, "w") - - sub0 = joinpath(dirname, "sub-0.hdf5") - f0 = h5open(sub0, "w") - f0["x"] = fill(1.0, 3) - close(f0) - - sub1 = joinpath(dirname, "sub-1.hdf5") - f1 = h5open(sub1, "w") - f1["x"] = fill(2.0, 3) - close(f1) - - srcspace = dataspace((3,)) - vspace = dataspace((3, 2); max_dims=(3, -1)) - HDF5.select_hyperslab!(vspace, (1:3, HDF5.BlockRange(1; count=-1))) - - d = create_dataset( - f, - "x", - datatype(Float64), - vspace; - virtual=[HDF5.VirtualMapping(vspace, "./sub-%b.hdf5", "x", srcspace)] - ) - - @test size(d) == (3, 2) - @test read(d) == hcat(fill(1.0, 3), fill(2.0, 3)) - - dcpl = HDF5.get_create_properties(d) - - @test dcpl.virtual isa HDF5.VirtualLayout - @test length(dcpl.virtual) == 1 - @test dcpl.virtual[1] isa HDF5.VirtualMapping + h5open(filename, "w") do f + + sub0 = joinpath(dirname, "sub-0.hdf5") + f0 = h5open(sub0, "w") + f0["x"] = fill(1.0, 3) + close(f0) + + sub1 = joinpath(dirname, "sub-1.hdf5") + f1 = h5open(sub1, "w") + f1["x"] = fill(2.0, 3) + close(f1) + + srcspace = dataspace((3,)) + vspace = dataspace((3, 2); max_dims=(3, -1)) + HDF5.select_hyperslab!(vspace, (1:3, HDF5.BlockRange(1; count=-1))) + + d = create_dataset( + f, + "x", + datatype(Float64), + vspace; + virtual=[HDF5.VirtualMapping(vspace, "./sub-%b.hdf5", "x", srcspace)] + ) + + @test size(d) == (3, 2) + @test read(d) == hcat(fill(1.0, 3), fill(2.0, 3)) + + dcpl = HDF5.get_create_properties(d) + + @test dcpl.virtual isa HDF5.VirtualLayout + @test length(dcpl.virtual) == 1 + @test dcpl.virtual[1] isa HDF5.VirtualMapping + + end end From c226d15c3cdfca1dd835660c191057d0973fccd3 Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Tue, 8 Nov 2022 00:48:42 -0500 Subject: [PATCH 05/14] Add pref for use_lock_and_close, make 1.3 compatible --- src/api/api.jl | 4 +++- src/api/lock.jl | 40 +++++++++++++++++++++++++++++----------- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/api/api.jl b/src/api/api.jl index d8a8028c3..543770fe8 100644 --- a/src/api/api.jl +++ b/src/api/api.jl @@ -7,7 +7,9 @@ multithreading. module API import Libdl -import Preferences +@static if VERSION >= v"1.6" + import Preferences +end using Base: StringVector const depsfile = joinpath(@__DIR__, "..", "..", "deps", "deps.jl") diff --git a/src/api/lock.jl b/src/api/lock.jl index 565f7ad9d..78199238f 100644 --- a/src/api/lock.jl +++ b/src/api/lock.jl @@ -1,13 +1,21 @@ const liblock = ReentrantLock() -""" - HDF5.API.use_api_lock::Bool +@static if VERSION >= v"1.6" + """ + HDF5.API.use_api_lock::Bool -Julia compile time preference of whether to use a `ReentrantLock`. By default -the HDF5 C library is not thread-safe. Concurrent calls to the HDF5 library -from multiple threads will likely fail. -""" -const use_api_lock = Preferences.@load_preference("use_api_lock", default = true) + Julia compile time preference of whether to use a `ReentrantLock`. By default + the HDF5 C library is not thread-safe. Concurrent calls to the HDF5 library + from multiple threads will likely fail. + """ + const use_api_lock = Preferences.@load_preference("use_api_lock", default = true) + # For diagnostics + # We do not need to lock twice when use_api_lock is on + const use_lock_and_close = Preferences.@load_preference("use_lock_and_close", default = true) && !use_api_lock +else + const use_api_lock = true + const use_lock_and_close = true +end @static if !(use_api_lock isa Bool) error("""An unknown HDF5 `use_api_lock` preference of "$use_api_lock" @@ -26,11 +34,18 @@ the HDF5 package will need to be recompiled. The valid values are `true` or `false`. +Use `force = true` to set a preference that may have already been set. +Use `force = false` otherwise. + See also [`HDF5.API.get_use_api_lock`](@ref). """ function set_use_api_lock!(use_api_lock::Bool) - @info "Please restart Julia for the use_lock preference to take effect" - Preferences.@set_preferences!("use_api_lock" => use_api_lock) + @static if VERSION >= v"1.6" + @info "Please restart Julia for the use_api_lock preference to take effect" + Preferences.@set_preferences!("use_api_lock" => use_api_lock) + else + error("HDF5 preferences can only be set with Julia 1.6 or greater") + end end """ @@ -51,12 +66,15 @@ end Acquire HDF5.API.liblock before trying to close `obj`. This will always acquire the lock regardless of the value of `HDF5.API.get_use_api_lock()`. It is intended for use with finalizers. + +Acquiring a lock within a finalizer could be problematic: +https://github.com/JuliaLang/julia/issues/35689 """ function lock_and_close(obj) - lock(liblock) + use_lock_and_close && lock(liblock) try close(obj) finally - unlock(liblock) + use_lock_and_close && unlock(liblock) end end From e07325939c7fcb41bee721e1285e785d376850da Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Tue, 8 Nov 2022 00:50:34 -0500 Subject: [PATCH 06/14] Formatting --- gen/bind_generator.jl | 3 ++- src/api/api.jl | 2 +- src/api/lock.jl | 3 ++- test/virtual_dataset.jl | 2 -- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gen/bind_generator.jl b/gen/bind_generator.jl index 23d215f6c..437981854 100644 --- a/gen/bind_generator.jl +++ b/gen/bind_generator.jl @@ -242,7 +242,8 @@ function _bind(__module__, __source__, sig::Expr, err::Union{String,Expr,Nothing # is instead explicitly injected into the function body via __source__. jlfuncsig = Expr(:call, jlfuncname, args...) jlfuncbody = Expr( - :block, __source__, + :block, + __source__, :(use_api_lock && lock(liblock)), :($statsym = try $ccallexpr diff --git a/src/api/api.jl b/src/api/api.jl index 543770fe8..bc7c05117 100644 --- a/src/api/api.jl +++ b/src/api/api.jl @@ -30,7 +30,7 @@ include("helpers.jl") function __init__() # HDF5.API.__init__() is run before HDF5.__init__() - + # From deps.jl check_deps() diff --git a/src/api/lock.jl b/src/api/lock.jl index 78199238f..a589cae2d 100644 --- a/src/api/lock.jl +++ b/src/api/lock.jl @@ -11,7 +11,8 @@ const liblock = ReentrantLock() const use_api_lock = Preferences.@load_preference("use_api_lock", default = true) # For diagnostics # We do not need to lock twice when use_api_lock is on - const use_lock_and_close = Preferences.@load_preference("use_lock_and_close", default = true) && !use_api_lock + const use_lock_and_close = + Preferences.@load_preference("use_lock_and_close", default = true) && !use_api_lock else const use_api_lock = true const use_lock_and_close = true diff --git a/test/virtual_dataset.jl b/test/virtual_dataset.jl index 5aa6d11e1..1919b283b 100644 --- a/test/virtual_dataset.jl +++ b/test/virtual_dataset.jl @@ -6,7 +6,6 @@ using Test, HDF5 filename = joinpath(dirname, "main.hdf5") h5open(filename, "w") do f - sub0 = joinpath(dirname, "sub-0.hdf5") f0 = h5open(sub0, "w") f0["x"] = fill(1.0, 3) @@ -37,6 +36,5 @@ using Test, HDF5 @test dcpl.virtual isa HDF5.VirtualLayout @test length(dcpl.virtual) == 1 @test dcpl.virtual[1] isa HDF5.VirtualMapping - end end From b23d2eb6856a053367051a3f40f723bff0c2bb89 Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Tue, 8 Nov 2022 00:56:06 -0500 Subject: [PATCH 07/14] Add lock tests --- test/runtests.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/runtests.jl b/test/runtests.jl index d4f53b60f..b540fe098 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -72,6 +72,8 @@ end # basic MPI tests, for actual parallel tests we need to run in MPI mode include("mpio.jl") end + @debug "API lock" + include("lock.jl") # Clean up after all resources HDF5.API.h5_close() From 6bbd35c20393133cf07efff6e0053e6a235a2465 Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Tue, 8 Nov 2022 01:01:28 -0500 Subject: [PATCH 08/14] Add the test lock file --- test/lock.jl | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 test/lock.jl diff --git a/test/lock.jl b/test/lock.jl new file mode 100644 index 000000000..c57efbc73 --- /dev/null +++ b/test/lock.jl @@ -0,0 +1,23 @@ +using HDF5 +if VERSION >= v"1.6" + using Preferences +end +using Test + +@testset "API Lock Preference" begin + prev_use_api_lock = HDF5.API.get_use_api_lock() + @test prev_use_api_lock isa Bool + @static if VERSION >= v"1.6" + HDF5.API.set_use_api_lock!(true) + @test load_preference(HDF5, "use_api_lock") == true + HDF5.API.set_use_api_lock!(false) + @test load_preference(HDF5, "use_api_lock") == false + HDF5.API.set_use_api_lock!(prev_use_api_lock) + @test load_preference(HDF5, "use_api_lock") == prev_use_api_lock + delete_preferences!(HDF5, "use_api_lock"; force=true) + @test load_preference(HDF5, "use_api_lock") === nothing + else + @test prev_use_api_lock + @test_throws ErrorException HDF5.API.set_use_api_lock(true) + end +end From e1f23519964706b825e5e84aca8d027b9b3a65d5 Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Tue, 8 Nov 2022 01:12:59 -0500 Subject: [PATCH 09/14] Fix test typo --- test/lock.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/lock.jl b/test/lock.jl index c57efbc73..2f899b0bd 100644 --- a/test/lock.jl +++ b/test/lock.jl @@ -18,6 +18,6 @@ using Test @test load_preference(HDF5, "use_api_lock") === nothing else @test prev_use_api_lock - @test_throws ErrorException HDF5.API.set_use_api_lock(true) + @test_throws ErrorException HDF5.API.set_use_api_lock!(true) end end From 339c52c2aa4057be3194498ac3b0ee8bfa020167 Mon Sep 17 00:00:00 2001 From: Mark Kittisopikul Date: Tue, 8 Nov 2022 20:06:36 -0500 Subject: [PATCH 10/14] Apply suggestions from codereview --- src/api/lock.jl | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/api/lock.jl b/src/api/lock.jl index a589cae2d..03d0effc3 100644 --- a/src/api/lock.jl +++ b/src/api/lock.jl @@ -8,21 +8,26 @@ const liblock = ReentrantLock() the HDF5 C library is not thread-safe. Concurrent calls to the HDF5 library from multiple threads will likely fail. """ - const use_api_lock = Preferences.@load_preference("use_api_lock", default = true) + const use_api_lock = try + pref = Preferences.@load_preference("use_api_lock", default = true) + if pref isa AbstractString + pref = parse(Bool, pref) + end + pref::Bool + catch err + Preferences.@delete_preferences!("use_api_lock") + @warn "Could not read HDF5 preference `use_api_lock` as a `Bool`. Resetting the `use_api_lock` preference to `true`." + true + end # For diagnostics # We do not need to lock twice when use_api_lock is on - const use_lock_and_close = - Preferences.@load_preference("use_lock_and_close", default = true) && !use_api_lock + const use_lock_on_close::Bool = + Preferences.@load_preference("use_lock_on_close", default = true) && !use_api_lock else const use_api_lock = true - const use_lock_and_close = true + const use_lock_on_close = true end -@static if !(use_api_lock isa Bool) - error("""An unknown HDF5 `use_api_lock` preference of "$use_api_lock" - was loaded. The `use_api_lock` will default to `true`. - Use `HDF5.API.set_use_api_lock!(true)` to remove this warning.""") -end """ HDF5.API.set_use_api_lock!(use_lock::Bool) @@ -42,7 +47,7 @@ See also [`HDF5.API.get_use_api_lock`](@ref). """ function set_use_api_lock!(use_api_lock::Bool) @static if VERSION >= v"1.6" - @info "Please restart Julia for the use_api_lock preference to take effect" + use_api_lock != get_use_api_lock() && @info "Please restart Julia for the use_api_lock preference to take effect" Preferences.@set_preferences!("use_api_lock" => use_api_lock) else error("HDF5 preferences can only be set with Julia 1.6 or greater") @@ -72,10 +77,10 @@ Acquiring a lock within a finalizer could be problematic: https://github.com/JuliaLang/julia/issues/35689 """ function lock_and_close(obj) - use_lock_and_close && lock(liblock) + use_lock_on_close && lock(liblock) try close(obj) finally - use_lock_and_close && unlock(liblock) + use_lock_on_close && unlock(liblock) end end From fa2c9cb44fb12f1a51da702ab1da3d2ab20330fd Mon Sep 17 00:00:00 2001 From: kittisopikulm Date: Tue, 8 Nov 2022 22:54:48 -0500 Subject: [PATCH 11/14] Formatting --- src/api/lock.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/lock.jl b/src/api/lock.jl index 03d0effc3..c37c52db0 100644 --- a/src/api/lock.jl +++ b/src/api/lock.jl @@ -28,7 +28,6 @@ else const use_lock_on_close = true end - """ HDF5.API.set_use_api_lock!(use_lock::Bool) @@ -47,7 +46,8 @@ See also [`HDF5.API.get_use_api_lock`](@ref). """ function set_use_api_lock!(use_api_lock::Bool) @static if VERSION >= v"1.6" - use_api_lock != get_use_api_lock() && @info "Please restart Julia for the use_api_lock preference to take effect" + use_api_lock != get_use_api_lock() && + @info "Please restart Julia for the use_api_lock preference to take effect" Preferences.@set_preferences!("use_api_lock" => use_api_lock) else error("HDF5 preferences can only be set with Julia 1.6 or greater") From 597e1c0f4f5ca2b4c0829f2763153d310379a9c6 Mon Sep 17 00:00:00 2001 From: kittisopikulm Date: Tue, 8 Nov 2022 23:02:07 -0500 Subject: [PATCH 12/14] Add Julia 1.6 to tests --- .github/workflows/CI.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 3b10bac87..550242a4e 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -45,6 +45,7 @@ jobs: matrix: version: - '1.3' + - '1.6' - '1' - 'nightly' os: From 29199950c00dedb5de9e07b756bee94081424333 Mon Sep 17 00:00:00 2001 From: kittisopikulm Date: Tue, 8 Nov 2022 23:02:30 -0500 Subject: [PATCH 13/14] Make lock Julia 1.6 compatible --- src/api/lock.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/lock.jl b/src/api/lock.jl index c37c52db0..1c48ecfef 100644 --- a/src/api/lock.jl +++ b/src/api/lock.jl @@ -21,8 +21,8 @@ const liblock = ReentrantLock() end # For diagnostics # We do not need to lock twice when use_api_lock is on - const use_lock_on_close::Bool = - Preferences.@load_preference("use_lock_on_close", default = true) && !use_api_lock + const use_lock_on_close = + Preferences.@load_preference("use_lock_on_close", default = true)::Bool && !use_api_lock else const use_api_lock = true const use_lock_on_close = true From b45bfb7560481afe30ad1df87676122bab250b5c Mon Sep 17 00:00:00 2001 From: kittisopikulm Date: Tue, 8 Nov 2022 23:03:19 -0500 Subject: [PATCH 14/14] Formatting --- src/api/lock.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/api/lock.jl b/src/api/lock.jl index 1c48ecfef..4057ce651 100644 --- a/src/api/lock.jl +++ b/src/api/lock.jl @@ -22,7 +22,8 @@ const liblock = ReentrantLock() # For diagnostics # We do not need to lock twice when use_api_lock is on const use_lock_on_close = - Preferences.@load_preference("use_lock_on_close", default = true)::Bool && !use_api_lock + Preferences.@load_preference("use_lock_on_close", default = true)::Bool && + !use_api_lock else const use_api_lock = true const use_lock_on_close = true