Message ID | 20210323135604.24504-1-zhaogongyi@huawei.com |
---|---|
State | Changes Requested |
Headers | show |
Series | lib/tst_test.c: Bugfix for heartbeat | expand |
Hi! > 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 trigger shutdown. > > Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com> > --- > lib/tst_test.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/lib/tst_test.c b/lib/tst_test.c > index 45753d1ca..91dfc6bf9 100644 > --- a/lib/tst_test.c > +++ b/lib/tst_test.c > @@ -1156,7 +1156,15 @@ static void heartbeat(void) > if (tst_clock_gettime(CLOCK_MONOTONIC, &tst_start_time)) > tst_res(TWARN | TERRNO, "tst_clock_gettime() failed"); > > - kill(getppid(), SIGUSR1); > + if (getppid() == 1) { > + tst_res(TFAIL, "Main test process might have exit!"); ^ This should be TBROK I guess. > + /* > + * We need kill the task group immediately since the > + * main process has exit. > + */ > + kill(0, SIGKILL); Shouldn't we call exit here? There is no point in continuing once we reached this point. > + } else > + kill(getppid(), SIGUSR1); > } > > static void testrun(void) > -- > 2.17.1 > > > -- > Mailing list info: https://lists.linux.it/listinfo/ltp
Hi, LGTM. Reviewed-by: Petr Vorel <pvorel@suse.cz> > When main process has been killed, its son process will be reaped by => nit: son/child > init, and son process will send SIGUSR1 to the init process. Kind regards, Petr
Hi! There is a v2 already, can you have a look?
> Hi! > There is a v2 already, can you have a look? I'm sorry to reply to the old one. I looked at both versions, but meant to sent review to v2. Kind regards, Petr
diff --git a/lib/tst_test.c b/lib/tst_test.c index 45753d1ca..91dfc6bf9 100644 --- a/lib/tst_test.c +++ b/lib/tst_test.c @@ -1156,7 +1156,15 @@ static void heartbeat(void) if (tst_clock_gettime(CLOCK_MONOTONIC, &tst_start_time)) tst_res(TWARN | TERRNO, "tst_clock_gettime() failed"); - kill(getppid(), SIGUSR1); + 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); + } else + kill(getppid(), SIGUSR1); } static void testrun(void)
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 trigger shutdown. Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com> --- lib/tst_test.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) -- 2.17.1