[CRIU] Re: [PATCH 5/5] tty: Add restoration of controlling terminal
v2
Cyrill Gorcunov
gorcunov at openvz.org
Wed Sep 12 03:58:46 EDT 2012
On Wed, Sep 12, 2012 at 11:16:46AM +0400, Pavel Emelyanov wrote:
> > +int tty_restore_ctl_terminal(struct file_desc *d)
> > +{
> > + struct tty_info *info = container_of(d, struct tty_info, d);
> > +
> > + BUG_ON(!(pty_is_master(info)) || !info->tie->sid);
>
> This equals to BUG_ON(!is_master && info->sid). Why non master must NOT have sids?
As far as I know nonmasters do not have sids.
> > @@ -424,6 +443,12 @@ static int receive_fd(int pid, FdinfoEntry *fe, struct file_desc *d)
> > if (reopen_fd_as(fe->fd, tmp) < 0)
> > return -1;
> >
> > + if (fe->fd == get_service_fd(CTL_TTY_OFF)) {
> > + tty_restore_ctl_terminal(d);
> > + close(fle->fe->fd);
> > + return 0;
> > + }
> > +
> > fcntl(tmp, F_SETFD, fe->flags);
> > return 0;
> > }
>
> Why not in post_open?
I'll reply to this a bit late (checking if I'm not missed something).
>
> > @@ -131,7 +131,7 @@ static int prepare_shared(void)
> > if (ret < 0)
> > break;
> >
> > - ret = prepare_fd_pid(pi->pid.virt, pi->rst);
> > + ret = prepare_fd_pid(pi->pid.virt, pi->rst, pi->ctl_tty_id);
> > if (ret < 0)
> > break;
> > }
>
> Better introduce prepare_ctl_tty() call.
OK
Cyrill
More information about the CRIU
mailing list