[CRIU] [PATCH] parasite: Don't handle CHLD from trapping threads
Andrew Vagin
avagin at parallels.com
Tue Oct 14 06:21:28 PDT 2014
On Tue, Oct 14, 2014 at 05:14:26PM +0400, Pavel Emelyanov wrote:
> The idea is appealing, but
>
> > @@ -1630,15 +1630,21 @@ static int dump_one_task(struct pstree_item *item)
> > goto err_cure;
> > }
> >
> > - ret = dump_task_threads(parasite_ctl, item);
> > + ret = dump_task_creds(parasite_ctl, cr_imgset, &cr);
> > if (ret) {
> > - pr_err("Can't dump threads\n");
> > - goto err_cure;
> > + pr_err("Dump creds (pid: %d) failed with %d\n", pid, ret);
> > + goto err;
> > }
> >
> > - ret = dump_task_creds(parasite_ctl, cr_imgset, &cr);
> > + ret = parasite_stop_daemon(parasite_ctl);
> > if (ret) {
> > - pr_err("Dump creds (pid: %d) failed with %d\n", pid, ret);
> > + pr_err("Can't cure (pid: %d) from parasite\n", pid);
> > + goto err;
> > + }
> > +
> > + ret = dump_task_threads(parasite_ctl, item);
> > + if (ret) {
> > + pr_err("Can't dump threads\n");
> > goto err;
> > }
> >
>
> This expands the window during which dead CRIU results in dead dumpee as
> after parasite_stop_daemon() the latter is in unrecoverable state (the
> regs are restored after parasite_munmap()).
No, this doesn't. If criu detaches from a process after
parasite_stop_daemon(), the process will continue.
>
> Thanks,
> Pavel
>
More information about the CRIU
mailing list