DockerCLI/cmd/docker
Laura Brehm 1554ac3b5f
cli-plugins: terminate plugin when CLI exits
Previously, long lived CLI plugin processes weren't
properly handled
(see: https://github.com/docker/cli/issues/4402)
resulting in plugin processes being left behind
running, after the CLI process exits.

This commit changes the plugin handling code to open
an abstract unix socket before running the plugin and
passing it to the plugin process, and changes the
signal handling on the CLI side to close this socket
which tells the plugin that it should exit.

This implementation makes use of sockets instead of
simply setting PDEATHSIG on the plugin process
so that it will work on both BSDs, assorted UNIXes
and Windows.

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2023-12-12 13:54:30 +00:00
..
internal/signals cli-plugins: terminate plugin when CLI exits 2023-12-12 13:54:30 +00:00
winresources Use goversioninfo to create Windows Version Info 2021-10-11 16:54:22 +02:00
aliases.go build: set default context builder if not specified 2022-11-04 08:42:34 +01:00
builder.go Handle empty DOCKER_BUILDKIT like unset 2023-04-19 14:17:01 +02:00
builder_test.go cmd/docker: fix typo in deprecation warning 2022-12-19 13:03:28 +01:00
builder_windows_test.go build: set default context builder if not specified 2022-11-04 08:42:34 +01:00
completions.go Adopt Cobra completion v2 to support completion by CLI plugins 2022-05-12 12:59:10 +02:00
docker.go cli-plugins: terminate plugin when CLI exits 2023-12-12 13:54:30 +00:00
docker_test.go Adopt Cobra completion v2 to support completion by CLI plugins 2022-05-12 12:59:10 +02:00
docker_windows_386.go remove pre-go1.17 build-tags 2023-05-05 18:23:03 +02:00
docker_windows_amd64.go remove pre-go1.17 build-tags 2023-05-05 18:23:03 +02:00
docker_windows_arm.go remove pre-go1.17 build-tags 2023-05-05 18:23:03 +02:00
docker_windows_arm64.go remove pre-go1.17 build-tags 2023-05-05 18:23:03 +02:00