diff options
author | Qi Wang <qiwan@redhat.com> | 2020-02-13 11:39:29 -0500 |
---|---|---|
committer | Qi Wang <qiwan@redhat.com> | 2020-02-13 16:57:13 -0500 |
commit | ebfd253fc658ffc914260f82b0ff3aac34c02baa (patch) | |
tree | 91403190cace388051d1f5a5e82e7d784e190b70 /pkg | |
parent | e4e5efc12b7902a22561170ca59f3da90b7b80ce (diff) | |
download | podman-ebfd253fc658ffc914260f82b0ff3aac34c02baa.tar.gz podman-ebfd253fc658ffc914260f82b0ff3aac34c02baa.tar.bz2 podman-ebfd253fc658ffc914260f82b0ff3aac34c02baa.zip |
fix bug "" disable detach keys
fix #5166
This patch enables `--detach-keys ""` to disable the feature. "ctrl-p, ctrl-q" will not work after this command.
Signed-off-by: Qi Wang <qiwan@redhat.com>
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/adapter/containers.go | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/pkg/adapter/containers.go b/pkg/adapter/containers.go index f66999ffa..cada93829 100644 --- a/pkg/adapter/containers.go +++ b/pkg/adapter/containers.go @@ -444,9 +444,12 @@ func (r *LocalRuntime) Run(ctx context.Context, c *cliconfig.RunValues, exitCode } } - keys, err := r.selectDetachKeys(c.String("detach-keys")) - if err != nil { - return exitCode, err + keys := c.String("detach-keys") + if !c.IsSet("detach-keys") { + keys, err = r.selectDetachKeys(keys) + if err != nil { + return exitCode, err + } } // if the container was created as part of a pod, also start its dependencies, if any. @@ -534,9 +537,12 @@ func (r *LocalRuntime) Attach(ctx context.Context, c *cliconfig.AttachValues) er inputStream = nil } - keys, err := r.selectDetachKeys(c.DetachKeys) - if err != nil { - return err + keys := c.DetachKeys + if !c.IsSet("detach-keys") { + keys, err = r.selectDetachKeys(keys) + if err != nil { + return err + } } // If the container is in a pod, also set to recursively start dependencies @@ -674,9 +680,12 @@ func (r *LocalRuntime) Start(ctx context.Context, c *cliconfig.StartValues, sigP } } - keys, err := r.selectDetachKeys(c.DetachKeys) - if err != nil { - return exitCode, err + keys := c.DetachKeys + if !c.IsSet("detach-keys") { + keys, err = r.selectDetachKeys(keys) + if err != nil { + return exitCode, err + } } // attach to the container and also start it not already running @@ -975,9 +984,12 @@ func (r *LocalRuntime) ExecContainer(ctx context.Context, cli *cliconfig.ExecVal streams.AttachOutput = true streams.AttachError = true - keys, err := r.selectDetachKeys(cli.DetachKeys) - if err != nil { - return ec, err + keys := cli.DetachKeys + if !cli.IsSet("detach-keys") { + keys, err = r.selectDetachKeys(keys) + if err != nil { + return ec, err + } } ec, err = ExecAttachCtr(ctx, ctr.Container, cli.Tty, cli.Privileged, env, cmd, cli.User, cli.Workdir, streams, uint(cli.PreserveFDs), keys) |