moby--moby/daemon
Cory Snider c3a6de9ec8 logger/journald: unlock OS threads
Managed containerd processes are executed with SysProcAttr.Pdeathsig set
to syscall.SIGKILL so that the managed containerd is automatically
killed along with the daemon. At least, that is the intention. In
practice, the signal is sent to the process when the creating _OS
thread_ dies! If a goroutine exits while locked to an OS thread, the Go
runtime will terminate the thread. If that thread happens to be the
same thread which the subprocess was started from, the subprocess will
be signaled. Prevent the journald driver from sometimes unintentionally
killing child processes by ensuring that all runtime.LockOSThread()
calls are paired with runtime.UnlockOSThread().

Signed-off-by: Cory Snider <csnider@mirantis.com>
2022-09-28 11:46:59 -04:00
..
cluster daemon/cluster: fix empty-lines (revive) 2022-09-28 01:58:50 +02:00
config
containerd ImageService.GetImage(): pass context 2022-09-07 16:53:45 +02:00
events
graphdriver daemon/graphdriver: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
images daemon/images: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
initlayer pkg/containerfs: drop ContainerFS type alias 2022-09-23 16:56:53 -04:00
links
listeners
logger logger/journald: unlock OS threads 2022-09-28 11:46:59 -04:00
names
network daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
stats
testdata
apparmor_default.go
apparmor_default_unsupported.go
archive.go daemon: clean up vestiges of ContainerFS 2022-09-23 16:56:53 -04:00
archive_tarcopyoptions.go
archive_tarcopyoptions_unix.go
archive_tarcopyoptions_windows.go
archive_unix.go
archive_windows.go
attach.go
auth.go
changes.go
checkpoint.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
cluster.go
commit.go
configs.go
configs_linux.go
configs_unsupported.go
configs_windows.go
container.go
container_linux.go
container_operations.go daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
container_operations_unix.go
container_operations_windows.go
container_unix_test.go
container_windows.go
content.go update to golang 1.19 2022-09-07 15:27:16 +02:00
create.go Merge pull request #44016 from thaJeztah/dont_set_ignoreImagesArgsEscaped 2022-09-27 17:59:23 +02:00
create_test.go
create_unix.go
create_windows.go
daemon.go Merge pull request #44193 from thaJeztah/libnetwork_cleanup 2022-09-27 22:41:32 +02:00
daemon_linux.go
daemon_linux_test.go daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
daemon_test.go
daemon_unix.go daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
daemon_unix_test.go
daemon_unsupported.go
daemon_windows.go pkg/containerfs: drop ContainerFS type alias 2022-09-23 16:56:53 -04:00
daemon_windows_test.go
debugtrap_unix.go
debugtrap_unsupported.go
debugtrap_windows.go
delete.go Lock container when deleting its root directory 2022-08-24 14:59:08 -04:00
delete_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
dependency.go
devices_linux.go
disk_usage.go
errors.go
events.go
events_test.go
exec.go daemon: Maintain container exec-inspect invariant 2022-08-24 19:35:07 -04:00
exec_linux.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
exec_linux_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
exec_windows.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
export.go daemon: clean up vestiges of ContainerFS 2022-09-23 16:56:53 -04:00
health.go Merge pull request #43997 from thaJeztah/healthcheck_capture_logs 2022-09-02 10:48:22 +02:00
health_test.go
id.go
image_service.go ImageService.GetImage(): pass context 2022-09-07 16:53:45 +02:00
info.go
info_unix.go
info_unix_test.go
info_windows.go
inspect.go Merge pull request #43564 from corhere/libcontainerd-overhaul 2022-08-25 11:51:42 -07:00
inspect_linux.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
inspect_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
inspect_windows.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
keys.go
keys_unsupported.go
kill.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
licensing.go
licensing_test.go
links.go
list.go container: remove ViewDB and View interfaces, use concrete types 2022-09-21 17:38:45 +02:00
list_test.go
list_unix.go
list_windows.go pkg/containerfs: alias ContainerFS to string 2022-09-23 16:56:52 -04:00
logdrivers_linux.go
logdrivers_windows.go
logs.go
logs_test.go
metrics.go
metrics_unix.go set ReadHeaderTimeout to address G112: Potential Slowloris Attack (gosec) 2022-09-22 12:13:28 +02:00
metrics_unsupported.go
monitor.go daemon: stop health checks before deleting task 2022-08-25 20:03:42 -04:00
mounts.go
names.go
network.go daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
network_windows.go
nvidia_linux.go
oci_linux.go daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
oci_linux_test.go pkg/containerfs: alias ContainerFS to string 2022-09-23 16:56:52 -04:00
oci_opts.go
oci_utils.go
oci_windows.go pkg/containerfs: alias ContainerFS to string 2022-09-23 16:56:52 -04:00
oci_windows_test.go
pause.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
prune.go
reload.go
reload_test.go daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
reload_unix.go
reload_windows.go
rename.go
resize.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
resize_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
restart.go daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
runtime_unix.go
runtime_unix_test.go
runtime_windows.go
seccomp_linux.go
seccomp_linux_test.go daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
seccomp_unsupported.go
secrets.go
secrets_linux.go
secrets_unsupported.go
secrets_windows.go
start.go pkg/containerfs: simplify ContainerFS type 2022-09-23 16:56:49 -04:00
start_unix.go
start_windows.go
stats.go
stats_collector.go
stats_unix.go
stats_windows.go
stop.go
top_unix.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
top_unix_test.go
top_windows.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
trustkey.go
trustkey_test.go
unpause.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
update.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
update_linux.go
update_windows.go
volumes.go
volumes_linux.go
volumes_linux_test.go
volumes_unit_test.go
volumes_unix.go
volumes_windows.go
wait.go
workdir.go