aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/tst-ofdlocks.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2018-07-27 10:07:14 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2018-07-27 14:48:06 -0300
commit2c6da2f48769ca37b22088fe65bdcb4b0f319b80 (patch)
treef858c8c42949fbdb68415247ea2d9c802b24ba61 /sysdeps/unix/sysv/linux/tst-ofdlocks.c
parentda80612d6114815db698bf891fb751e7962d1c11 (diff)
downloadglibc-2c6da2f48769ca37b22088fe65bdcb4b0f319b80.zip
glibc-2c6da2f48769ca37b22088fe65bdcb4b0f319b80.tar.gz
glibc-2c6da2f48769ca37b22088fe65bdcb4b0f319b80.tar.bz2
Fix Linux fcntl OFD locks on unsupported kernels
This patch make the OFD tests return unsupported if kernel does not support OFD locks (it was added on 3.15). Checked on a ia64-linux-gnu with Linux 3.14. * sysdeps/unix/sysv/linux/tst-ofdlocks.c: Return unsupported if kernel does not support OFD locks. * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/tst-ofdlocks.c')
-rw-r--r--sysdeps/unix/sysv/linux/tst-ofdlocks.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/tst-ofdlocks.c b/sysdeps/unix/sysv/linux/tst-ofdlocks.c
index bd345e9..a660bab 100644
--- a/sysdeps/unix/sysv/linux/tst-ofdlocks.c
+++ b/sysdeps/unix/sysv/linux/tst-ofdlocks.c
@@ -46,7 +46,12 @@ do_test (void)
.l_start = (off64_t)INT32_MAX + 1024,
.l_len = 1024,
};
- TEST_VERIFY_EXIT (fcntl64 (temp_fd, F_OFD_SETLKW, &lck64) == 0);
+ int ret = fcntl64 (temp_fd, F_OFD_SETLKW, &lck64);
+ if (ret == -1 && errno == EINVAL)
+ /* OFD locks are only available on Linux 3.15. */
+ FAIL_UNSUPPORTED ("fcntl (F_OFD_SETLKW) not supported");
+
+ TEST_VERIFY_EXIT (ret == 0);
/* Open file description locks placed through the same open file description
(either by same file descriptor or a duplicated one created by fork,