[LTP] [PATCH 2/4] syscalls/kill03, 04: Cleanup && Convert to new library

Li Wang liwang@redhat.com
Fri Aug 21 05:16:34 CEST 2020


On Fri, Aug 21, 2020 at 10:22 AM Yang Xu <xuyang2018.jy@cn.fujitsu.com>
wrote:

> ...
> >     Also, we can use the current process id but it may has unexpected
> >     result
> >     when kill succeed. So fork a child to test maybe a better solution.
> >
> >
> > Hmm, sorry for the uncleared description, actually I meant, to use
> real_pid
> > instead of the tc->child_flag directly, then start to reclaim the child
> > when the
> > real_pid test finishing.
> >
> > Does this below diff work for you?
> It looks well. But the real_pid only valid when the first sub test and
> the real pid is equals to 0 when using -i parameters because we have
> killed this children.
>

Yes, you're right.
How about moving up the real_pid creator to the main process? does it work
for you?

static void verify_kill(unsigned int n)
{
        if (!real_pid) {
                real_pid = SAFE_FORK();
                if (!real_pid)
                        pause();
        }

        TEST(kill(*tc->pid, tc->test_sig));
        ...

        if (real_pid) {
                cleanup();
                real_pid = 0;
        }

}


>
> For pid = 0, it means  then sig is sent to every process in the process
> group of the calling process.  So it looks like we test different thing
> when using -i parameters.  What do you think about this?
>

I even think it is a good idea for code simplification:). In this case, the
first
the subtest is just to verify invalid signal for kill(), it doesn't matter
to go with
kill(0, invalid_signal), that only tries to kill the current main process.
isn't it?

If we go this way, not only the tc->child_flag is no needed, but also not
necessary
to fork a new child to be killed.

-- 
Regards,
Li Wang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.it/pipermail/ltp/attachments/20200821/57245fb5/attachment-0001.htm>


More information about the ltp mailing list