[LTP] [PATCH 1/2] syscalls/inotify06: Terminate child process on test error
Martin Doucha
mdoucha@suse.cz
Wed May 5 17:38:46 CEST 2021
If the main test process exits early, the child would keep running and
interfere with tmpdir cleanup.
Signed-off-by: Martin Doucha <mdoucha@suse.cz>
---
testcases/kernel/syscalls/inotify/inotify06.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/testcases/kernel/syscalls/inotify/inotify06.c b/testcases/kernel/syscalls/inotify/inotify06.c
index 96189b082..f39ab46a1 100644
--- a/testcases/kernel/syscalls/inotify/inotify06.c
+++ b/testcases/kernel/syscalls/inotify/inotify06.c
@@ -38,7 +38,8 @@
/* Number of files to test (must be > 1) */
#define FILES 5
-char names[FILES][PATH_MAX];
+static char names[FILES][PATH_MAX];
+static pid_t pid;
static void setup(void)
{
@@ -51,7 +52,6 @@ static void setup(void)
static void verify_inotify(void)
{
int inotify_fd, fd;
- pid_t pid;
int i, tests;
pid = SAFE_FORK();
@@ -85,14 +85,24 @@ static void verify_inotify(void)
/* Kill the child creating / deleting files and wait for it */
SAFE_KILL(pid, SIGKILL);
+ pid = 0;
SAFE_WAIT(NULL);
}
+static void cleanup(void)
+{
+ if (pid) {
+ SAFE_KILL(pid, SIGKILL);
+ SAFE_WAIT(NULL);
+ }
+}
+
static struct tst_test test = {
.timeout = 600,
.needs_tmpdir = 1,
.forks_child = 1,
.setup = setup,
+ .cleanup = cleanup,
.test_all = verify_inotify,
};
--
2.31.1
More information about the ltp
mailing list