-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove O_NONBLOCK. #357
base: main
Are you sure you want to change the base?
Remove O_NONBLOCK. #357
Conversation
Looks like this affects both integration and formatting checks. Latest |
@analytically It's may not CI’s problem you should open stdin write side to make sure read side will not block
And because the set is sync so I have to add a timeout to make sure the open write task have been falled into
We may should change io set to async trait next step @mxpv |
So in my setup, the parent process (concourse-worker) has already opened the write end of the FIFO. Concourse resource containers expect to be able to block on stdin reads when waiting for input. |
Just removing NONBLOCK makes rust-extensions work flawlessly with Concourse CI (https://concourse-ci.org/). I overwrite the bundled containerd-shim-runc-v2-rs and am able to run > 500 containers on a single host, with the Go version I cannot go more than 180. |
In the contaienrd's CI the write side may not open, I've pasted your change and run it in CI , Open write side in shim side can pass this CI. If your's recommand want to pass this CI? |
In production Concourse usage, the write side would be opened by shim and the read would work properly. But in CI where there's no shim/write side, the NONBLOCK flag allows the tests to proceed without hanging. |
|
if it means you want to do a sync in stdin write and read. Blocking in stdin's read may not greate. |
Maybe make it configurable?
Then in FIFO:
|
I think that's will be great , and read the |
The env name "CI" is standard for a lot of CI tools, see https://github.com/actions/runner/blob/fde5227fbfe9c61b7861cc959ebbbba62af4754b/src/Runner.Sdk/ProcessInvoker.cs#L284 |
That's well, thanks. |
I've changed the IO set for Blocking IO's Time consuming issue, may need a rebase. |
@mxpv