Re: Simplifying process piping

2019-09-22 Thread Vladimir Panteleev via Digitalmars-d-learn
On Sunday, 22 September 2019 at 16:06:04 UTC, Jesse Phillips 
wrote:

https://github.com/JesseKPhillips/std.process-example/

I'm wondering if there are any thoughts for simplification. I 
don't mean simplify to perform the same end result, but is the 
threading and data copies as simple as they could be? Did I 
misrepresent anything?


Your approach is OK for more complicated cases. When you need to 
just pipe one process into another, create a `pipe`, pass the 
writeEnd to the first process's stderr, and the readEnd to the 
second process's stdin. To discard output, pass File("/dev/null", 
"w") to its stdout.


There is a ticket somewhere in Bugzilla to add something like 
Python's Popen.communicate to pipe multiple things at once. it is 
not difficult, on Linux it is a select loop, doesn't even require 
threads. There was no consensus on what the interface should look 
like.




Simplifying process piping

2019-09-22 Thread Jesse Phillips via Digitalmars-d-learn
As noted in this announcement, I started writing some basic 
tutorials for D.


https://forum.dlang.org/post/efpyegvrezybdrmug...@forum.dlang.org

At a post a week, I've got 10 weeks of backlog posts. One of 
these is a post on input output piping.


https://github.com/JesseKPhillips/std.process-example/

I'm wondering if there are any thoughts for simplification. I 
don't mean simplify to perform the same end result, but is the 
threading and data copies as simple as they could be? Did I 
misrepresent anything?