[LTP] [PATCH] lib/tst_test.c: Bugfix for heartbeat

zhaogongyi zhaogongyi@huawei.com
Tue Apr 13 08:42:52 CEST 2021


Hi Cyril,

Thanks for your review!

> > -	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.
>

Yes, There is no point in continuing once we reached this point. Considering the test might have created sub processes with system, posix_spawn and so on,

do we need to kill the task group?


Best Regards,
Gongyi


> 
> 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
> 
> --
> Cyril Hrubis
> chrubis@suse.cz


More information about the ltp mailing list