summaryrefslogtreecommitdiffstats
path: root/tests/basic/tier/file_lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basic/tier/file_lock.c')
-rw-r--r--tests/basic/tier/file_lock.c72
1 files changed, 0 insertions, 72 deletions
diff --git a/tests/basic/tier/file_lock.c b/tests/basic/tier/file_lock.c
deleted file mode 100644
index 20fdbc0f668..00000000000
--- a/tests/basic/tier/file_lock.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-void
-usage(void)
-{
- printf("Usage: testlock <filepath> [R|W]\n");
- return;
-}
-
-int
-main(int argc, char *argv[])
-{
- char *file_path = NULL;
- int fd = -1;
- struct flock lock = {0};
- int ret = -1;
- int c = 0;
-
- if (argc != 3) {
- usage();
- exit(1);
- }
-
- file_path = argv[1];
- fd = open(file_path, O_RDWR);
-
- if (-1 == fd) {
- printf("Failed to open file %s. %m\n", file_path);
- exit(1);
- }
-
- /* TODO: Check for invalid input*/
-
- if (!strcmp(argv[2], "W")) {
- lock.l_type = F_WRLCK;
- printf("Taking write lock\n");
-
- } else {
- lock.l_type = F_RDLCK;
- printf("Taking read lock\n");
- }
-
- lock.l_whence = SEEK_SET;
- lock.l_start = 0;
- lock.l_len = 0;
- lock.l_pid = getpid();
-
- printf("Acquiring lock on %s\n", file_path);
- ret = fcntl(fd, F_SETLK, &lock);
- if (ret) {
- printf("Failed to acquire lock on %s (%m)\n", file_path);
- close(fd);
- exit(1);
- }
-
- sleep(10);
-
- /*Unlock*/
-
- printf("Releasing lock on %s\n", file_path);
- lock.l_type = F_UNLCK;
- ret = fcntl(fd, F_SETLK, &lock);
- if (ret) {
- printf("Failed to release lock on %s (%m)\n", file_path);
- }
-
- close(fd);
- return ret;
-}