Skip to content

Conversation

@jprendes
Copy link
Contributor

@jprendes jprendes commented Mar 19, 2025

Currently the sync code uses two different activation strategies:

  • In Unix: The server listener is bound in the parent process, and passes the FD to the child processes.
  • In Windows: The server listener is directly bound in the child process, and a pipe is used for the parent to wait until the binding is completed.

This PR unified the activation strategy on all platforms, following the strategy used for Windows.
Additionally, it avoids computing the listener address twice by reusing the -socket flag when spawning the child process.

This PR also applies the same activation strategy to the async code.

The main motivation for this PR is to eventually support Windows on the async feature.

@github-actions github-actions bot added the C-shim Containerd shim label Mar 19, 2025
@jprendes
Copy link
Contributor Author

@mxpv , PTAL

@mxpv mxpv added this pull request to the merge queue Mar 19, 2025
Merged via the queue into containerd:main with commit 18fcf6b Mar 19, 2025
18 checks passed
@jprendes jprendes deleted the bind-in-child branch March 20, 2025 16:02
@jprendes jprendes restored the bind-in-child branch March 20, 2025 16:02
@jprendes jprendes deleted the bind-in-child branch March 20, 2025 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-shim Containerd shim

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants