[LTP] [PATCH v2] syscalls/fanotify07: add stop_children() to cleanup()
zhaogongyi
zhaogongyi@huawei.com
Mon Nov 22 09:23:47 CET 2021
Hi,
I have resubmit a new version patch as your review, please see https://patchwork.ozlabs.org/project/ltp/patch/20211122082146.59895-1-zhaogongyi@huawei.com/
Thanks so much!
Gongyi
>
> Hi all,
>
> > When we run the testcase simultaneously, and the ulimit of open files
> > is small, the testcase will fail and remain many while(1) tasks in
> > system, it makes the system very stuck.
>
> > Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
> > ---
> > v1->v2: add stop_children() to cleanup(),suggested by Amir and
> Matthew.
>
> > testcases/kernel/syscalls/fanotify/fanotify07.c | 11 ++++++++++-
> > 1 file changed, 10 insertions(+), 1 deletion(-)
>
> > diff --git a/testcases/kernel/syscalls/fanotify/fanotify07.c
> > b/testcases/kernel/syscalls/fanotify/fanotify07.c
> > index cc56d9019..40d1b96ce 100644
> > --- a/testcases/kernel/syscalls/fanotify/fanotify07.c
> > +++ b/testcases/kernel/syscalls/fanotify/fanotify07.c
> > @@ -86,15 +86,21 @@ static int stop_children(void)
> > int child_ret;
> > int i, ret = 0;
>
> > - for (i = 0; i < MAX_CHILDREN; i++)
> > + for (i = 0; i < MAX_CHILDREN; i++) {
> > + if (!child_pid[i])
> > + continue;
> > SAFE_KILL(child_pid[i], SIGKILL);
> > + }
>
> > for (i = 0; i < MAX_CHILDREN; i++) {
> > + if (!child_pid[i])
> > + continue;
> > SAFE_WAITPID(child_pid[i], &child_ret, 0);
> > if (!WIFSIGNALED(child_ret))
> > ret = 1;
> I slightly prefer instead of using memset code which Amir suggested:
> child_pid[i] = 0;
> > }
>
> Otherwise LGTM.
>
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
>
> NOTE: patch was corrupted, please take care next time
> (error: corrupt patch at line 131)
> Also
>
> Kind regards,
> Petr
>
> > + memset(child_pid, 0, sizeof(pid_t) * MAX_CHILDREN);
> > return ret;
> > }
>
> > @@ -190,6 +196,8 @@ static void setup(void)
>
> > static void cleanup(void)
> > {
> > + stop_children();
> > +
> > if (fd_notify > 0)
> > SAFE_CLOSE(fd_notify);
> > }
> > @@ -201,6 +209,7 @@ static struct tst_test test = {
> > .needs_tmpdir = 1,
> > .forks_child = 1,
> > .needs_root = 1,
> > };
>
> > #else
More information about the ltp
mailing list