19166: Close ssh session when exec/shell command exits.
[arvados.git] / cmd / arvados-client / container_gateway.go
index aca6c5b797fa4ec3b036ee8300ae3f4fcbe5e885..55f8c33bc70c77d31f13f16bb924ee4c2a6a1613 100644 (file)
@@ -160,7 +160,9 @@ Options:
                fmt.Fprintf(stderr, "target UUID is not a container or container request UUID: %s\n", targetUUID)
                return 1
        }
-       sshconn, err := rpcconn.ContainerSSH(context.TODO(), arvados.ContainerSSHOptions{
+       ctx, cancel := context.WithCancel(context.Background())
+       defer cancel()
+       sshconn, err := rpcconn.ContainerSSH(ctx, arvados.ContainerSSHOptions{
                UUID:          targetUUID,
                DetachKeys:    *detachKeys,
                LoginUsername: loginUsername,
@@ -176,7 +178,6 @@ Options:
                return 0
        }
 
-       ctx, cancel := context.WithCancel(context.Background())
        go func() {
                defer cancel()
                _, err := io.Copy(stdout, sshconn.Conn)