diff options
author | hdftest <hdftest@hdfgroup.org> | 2019-09-17 20:17:57 (GMT) |
---|---|---|
committer | hdftest <hdftest@hdfgroup.org> | 2019-09-17 20:17:57 (GMT) |
commit | f93f47c9f783d1eb1f736bf671553d0c3bcdd45d (patch) | |
tree | 21506cb7eb42da9c0e65f87e259750203306ed10 | |
parent | ab45fbc81bd4b10d5191cf57f1d28bb8124fdd63 (diff) | |
parent | 406890277cbe92be1d68721a6fa115441ab1a726 (diff) | |
download | hdf5-f93f47c9f783d1eb1f736bf671553d0c3bcdd45d.zip hdf5-f93f47c9f783d1eb1f736bf671553d0c3bcdd45d.tar.gz hdf5-f93f47c9f783d1eb1f736bf671553d0c3bcdd45d.tar.bz2 |
Merge branch 'hdf5_1_10' of ssh://bitbucket.hdfgroup.org:7999/~hdftest/hdf5_hft into hdf5_1_10
-rw-r--r-- | release_docs/RELEASE.txt | 22 | ||||
-rw-r--r-- | src/H5system.c | 2 |
2 files changed, 23 insertions, 1 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 3cad088..27417da 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -252,6 +252,28 @@ Bug Fixes since HDF5-1.10.5 release (RL - 2019/3/4, HDFFV-10705) + - fcntl(2)-based file locking incorrectly passed the lock argument struct + instead of a pointer to the struct, causing errors on systems where + flock(2) is not available. + + File locking is used when files are opened to enforce SWMR semantics. A + lock operation takes place on all file opens unless the + HDF5_USE_FILE_LOCKING environment variable is set to the string "FALSE". + flock(2) is preferentially used, with fcntl(2) locks as a backup if + flock(2) is unavailable on a system (if neither is available, the lock + operation fails). On these systems, the file lock will often fail, which + causes HDF5 to not open the file and report an error. + + This bug only affects POSIX systems. Win32 builds on Windows use a no-op + locking call which always succeeds. Systems which exhibit this bug will + have H5_HAVE_FCNTL defined but not H5_HAVE_FLOCK in the configure output. + + This bug affects HDF5 1.10.0 through 1.10.5. + + fcntl(2)-based file locking now correctly passes the struct pointer. + + (DER - 2019/08/27, HDFFV-10892) + Java Library: ---------------- diff --git a/src/H5system.c b/src/H5system.c index 1d47d13..384360d 100644 --- a/src/H5system.c +++ b/src/H5system.c @@ -631,7 +631,7 @@ Pflock(int fd, int operation) { flk.l_pid = 0; /* not used with set */ /* Lock or unlock */ - if(HDfcntl(fd, F_SETLK, flk) < 0) + if(HDfcntl(fd, F_SETLK, &flk) < 0) return -1; return 0; |