diff mbox series

lib/tst_test.c: Bugfix for heartbeat

Message ID 20210413115422.4087-1-zhaogongyi@huawei.com
State Accepted
Headers show
Series lib/tst_test.c: Bugfix for heartbeat | expand

Commit Message

Zhao Gongyi April 13, 2021, 11:54 a.m. UTC
When main process has been killed, its son process will be reaped by
init, and son process will send SIGUSR1 to the init process.

In busybox, send SIGUSR1 to the init process will trig shutdown.

Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
---
v1->v2: add exit(TBROK) after kill
---
 lib/tst_test.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

--
2.17.1

Comments

Cyril Hrubis April 15, 2021, 11:32 a.m. UTC | #1
Hi!
This should have had v2 in the email subject, please do not forget to
add the -v flag when generating/sending patches to git.

Otherwise this looks fine, but let's give peter chance to look at it.

Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
Cyril Hrubis April 15, 2021, 2:05 p.m. UTC | #2
Hi!
Pushed, thanks.
diff mbox series

Patch

diff --git a/lib/tst_test.c b/lib/tst_test.c
index 45753d1ca..446887c31 100644
--- a/lib/tst_test.c
+++ b/lib/tst_test.c
@@ -1156,6 +1156,16 @@  static void heartbeat(void)
 	if (tst_clock_gettime(CLOCK_MONOTONIC, &tst_start_time))
 		tst_res(TWARN | TERRNO, "tst_clock_gettime() failed");

+	if (getppid() == 1) {
+		tst_res(TFAIL, "Main test process might have exit!");
+		/*
+		 * We need kill the task group immediately since the
+		 * main process has exit.
+		 */
+		kill(0, SIGKILL);
+		exit(TBROK);
+	}
+
 	kill(getppid(), SIGUSR1);
 }