diff options
author | gVisor bot <gvisor-bot@google.com> | 2019-08-02 21:14:10 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-08-02 21:14:10 +0000 |
commit | 7ddd7ef41709212d846dd6da1f8f718397ce36a1 (patch) | |
tree | 8cddc0b33872502933063052936fdba712bb2167 /pkg/sentry/fs/tty/slave.go | |
parent | 15041d177271e6373941d372b8bd2e29db28b125 (diff) | |
parent | b6a5b950d28e0b474fdad160b88bc15314cf9259 (diff) |
Merge b6a5b950 (automated)
Diffstat (limited to 'pkg/sentry/fs/tty/slave.go')
-rw-r--r-- | pkg/sentry/fs/tty/slave.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/pkg/sentry/fs/tty/slave.go b/pkg/sentry/fs/tty/slave.go index e30266404..944c4ada1 100644 --- a/pkg/sentry/fs/tty/slave.go +++ b/pkg/sentry/fs/tty/slave.go @@ -152,9 +152,16 @@ func (sf *slaveFileOperations) Ioctl(ctx context.Context, _ *fs.File, io usermem case linux.TIOCSCTTY: // Make the given terminal the controlling terminal of the // calling process. - // TODO(b/129283598): Implement once we have support for job - // control. - return 0, nil + return 0, sf.si.t.setControllingTTY(ctx, io, args, false /* isMaster */) + case linux.TIOCNOTTY: + // Release this process's controlling terminal. + return 0, sf.si.t.releaseControllingTTY(ctx, io, args, false /* isMaster */) + case linux.TIOCGPGRP: + // Get the foreground process group. + return sf.si.t.foregroundProcessGroup(ctx, io, args, false /* isMaster */) + case linux.TIOCSPGRP: + // Set the foreground process group. + return sf.si.t.setForegroundProcessGroup(ctx, io, args, false /* isMaster */) default: maybeEmitUnimplementedEvent(ctx, cmd) return 0, syserror.ENOTTY |