Merge pull request #1135 from rpluem-vf/keep_fds_open

Do not close file descriptors when executing podman
This commit is contained in:
Povilas Kanapickas 2025-02-18 13:26:15 +02:00 committed by GitHub
commit 15380a809d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 2 deletions

View File

@ -0,0 +1,4 @@
- Do not close file descriptors when executing podman. This allows
externally created file descriptors to be passed to containers.
These file descriptors might have been created through
[systemd socket activation](https://github.com/containers/podman/blob/main/docs/tutorials/socket_activation.md#socket-activation-of-containers).

View File

@ -1506,7 +1506,10 @@ class Podman:
if log_formatter is not None:
p = await asyncio.create_subprocess_exec(
*cmd_ls, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE
*cmd_ls,
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE,
close_fds=False,
) # pylint: disable=consider-using-with
# This is hacky to make the tasks not get garbage collected
@ -1524,7 +1527,7 @@ class Podman:
err_t.add_done_callback(task_reference.discard)
else:
p = await asyncio.create_subprocess_exec(*cmd_ls) # pylint: disable=consider-using-with
p = await asyncio.create_subprocess_exec(*cmd_ls, close_fds=False) # pylint: disable=consider-using-with
try:
exit_code = await p.wait()