[LTP] [PATCH] syscalls/fcntl15: Wait until child processes did its work
Fabian Vogt
fvogt@suse.de
Mon Dec 13 11:12:34 CET 2021
The child process might not have completed locking region two when the parent
expectes it to. Wait for it.
Fixes: 079de87f9522 ("syscalls/fcntl15: Convert to new API")
Signed-off-by: Fabian Vogt <fvogt@suse.de>
---
testcases/kernel/syscalls/fcntl/fcntl15.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/testcases/kernel/syscalls/fcntl/fcntl15.c b/testcases/kernel/syscalls/fcntl/fcntl15.c
index 59328605ac2b..82dee4b21ee2 100644
--- a/testcases/kernel/syscalls/fcntl/fcntl15.c
+++ b/testcases/kernel/syscalls/fcntl/fcntl15.c
@@ -75,7 +75,7 @@ static void lock_region_two(int file_flag, int file_mode)
SAFE_FCNTL(fd, F_SETLK, &lock_two);
- TST_CHECKPOINT_WAIT(1);
+ TST_CHECKPOINT_WAKE_AND_WAIT(1);
SAFE_CLOSE(fd);
}
@@ -143,8 +143,11 @@ static int run_test(int file_flag, int file_mode, int dup_flag)
SAFE_FCNTL(fd[0], F_SETLK, &lock_one);
+ // Lock region two or wait until the child locked it
if (dup_flag != FORK_)
SAFE_FCNTL(fd[1], F_SETLK, &lock_two);
+ else
+ TST_CHECKPOINT_WAIT(1);
if (!SAFE_FORK()) {
do_test(file_flag, file_mode, dup_flag);
--
2.33.1
More information about the ltp
mailing list