Skip to content
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

LEWGI Cologne: Are named pipes a version 1 feature? #35

Open
JeffGarland opened this issue Oct 6, 2019 · 10 comments
Open

LEWGI Cologne: Are named pipes a version 1 feature? #35

JeffGarland opened this issue Oct 6, 2019 · 10 comments

Comments

@JeffGarland
Copy link
Owner

Unfortunately I'm not sure now if the question was 'are pipes needed' in V1. Basically there's nothing else on Windows so the use of named pipes is more for consistency than anything else if I'm not mistaken.

@eliaskosunen
Copy link
Contributor

I think the question was whether pipes should be a part of this paper or be proposed separately.

If pipes are here to say, I’d say we’d need to keep named pipes as well.

@JeffGarland
Copy link
Owner Author

The SG1 support for making pipes into a different proposal was tepid at best (not seeing the poll numbers just now, but that's my recollection). If we did that I guess we'd be left with the pipe_stream and pipe_buf for the api?

@JeffGarland
Copy link
Owner Author

Actually @klemens-morgenstern describes a potential path in the roadmap issue #30 -- basically leaving the streams and pulling the pipes into another paper. Same with the environment. Pipes would never need to come back since they become an implementation detail -- environment we will have to have...

That's probably what we should do to make things more tractable for LEWGI for now.

@klemens-morgenstern
Copy link
Contributor

The only way to have an async pipe is through a named pipe on windows. So it comes with the async stuff and I would prefer not to split pipe functionality up.
I also think that async is very, very important, synchronous I/O - especially with pipes - is a source of way too many deadlocks.

@JeffGarland
Copy link
Owner Author

Agree -- thx for confirming that. But...if we take the pipes out in version 1 if I'm not mistaken all the async goes away bc we're back users only having pipe_stream and pipe_stream_buf as interfaces -- and all the async and pipe becomes implementation detail. Is that not what you were suggesting in #30?

@klemens-morgenstern
Copy link
Contributor

I would move pipe_stream and pipe_stream_buf to the other paper as well.

@JeffGarland
Copy link
Owner Author

Unfortunately that doesn't really eliminate anything -- it just moves it to another paper which is required for process to move forward. I'd rather hold firm with one unified proposal for the moment and take the flack for not cutting enough. I pretty much agree with the sub-group of SG1 that making more papers doesn't make the job simpler ultimately.

@eliaskosunen
Copy link
Contributor

In Belfast, LEWGI encouraged the removal of named pipes. The primary concern was about security; doing mutual authentication would be slow and painful.

@JeffGarland
Copy link
Owner Author

As Klemens points out on Windows it will basically be a named pipe cause that's how they all are. So really the issue we have is with the constructor for a named pipe -- which I believe we can basically remove for the core functionality since it can be a randomly generated name internal pipes. At least that's what we should see if it will work.

@klemens-morgenstern
Copy link
Contributor

Security doesn't need to be a concern,they behave basically like files, or at least we can specify it that way.

The nice thing is that I can use them for IO with a process that thinks it's a file. At least to a degree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants