RejectedSoftware Forums

Sign up

std.process pipes

I'm not sure if you guys are aware, but Vibe's runTask seems to be interfered with e.g. pipeProcess.
It appears to halt the program when trying to read from a pipe.

My workaround that I have used was to use std.concurrency spawn then to handle the pipes.

I don't know if there is anything to be done but as a FYI.

Re: std.process pipes

On Fri, 25 Jul 2014 08:39:32 GMT, Rikki Cattermole wrote:

I'm not sure if you guys are aware, but Vibe's runTask seems to be interfered with e.g. pipeProcess.
It appears to halt the program when trying to read from a pipe.

My workaround that I have used was to use std.concurrency spawn then to handle the pipes.

I don't know if there is anything to be done but as a FYI.

A good way to handle them now is to use the new vibe.stream.stdio.StdFileStream, which creates a threaded wrapper internally and uses a TaskPipe to pipe data between the threads.

There is also a gist for wrapping a whole process, but I'm not sure how to best integrate this into vibe.d. It would definitely be better to get support for asynchronous pipes into Phobos instead.