Interprocess support for Pipe
Hi, Does boost interprocess support "pipe" like operations. That is if process A writes something and when process B reads it, the memory content should be reset. If I use shared memory, it complicates things. Thanks, Lloyd
El 12/06/2015 a las 11:25, Lloyd escribió:
Hi,
Does boost interprocess support "pipe" like operations. That is if process A writes something and when process B reads it, the memory content should be reset.
If I use shared memory, it complicates things.
No, it does not support it. Maybe the message queue could help. Ion
On Fri, 12 Jun 2015 11:25:13 +0200, Lloyd
Hi,
Does boost interprocess support "pipe" like operations. That is if process A writes something and when process B reads it, the memory content should be reset.
If I use shared memory, it complicates things.
There is a create_pipe() function in what's usually called Boost.Process (not an official Boost library - work in progress for roughly 10 years ;) - see http://www.highscore.de/boost/process0.5/boost/process/create_pipe_id341354..... However you can't use the pipe for asynchronous I/O on Windows. Someone else worked on a named pipe for Boost two years ago (see http://thread.gmane.org/gmane.comp.lib.boost.devel/243397). But I haven't heard anything about it lately. Boris
El 12/06/2015 a las 12:43, Boris Schäling escribió:
There is a create_pipe() function in what's usually called Boost.Process (not an official Boost library - work in progress for roughly 10 years ;) - see http://www.highscore.de/boost/process0.5/boost/process/create_pipe_id341354..... However you can't use the pipe for asynchronous I/O on Windows. Someone else worked on a named pipe for Boost two years ago (see http://thread.gmane.org/gmane.comp.lib.boost.devel/243397). But I haven't heard anything about it lately.
Boris, Boosters, would it be a good idea to add some Boost.Process utilities to Boost.Interprocess? I'm thinking about process launching and pipes. Best Ion
On 6/12/2015 11:15 AM, Ion Gaztañaga wrote:
El 12/06/2015 a las 12:43, Boris Schäling escribió:
There is a create_pipe() function in what's usually called Boost.Process (not an official Boost library - work in progress for roughly 10 years ;) - see http://www.highscore.de/boost/process0.5/boost/process/create_pipe_id341354.....
However you can't use the pipe for asynchronous I/O on Windows. Someone else worked on a named pipe for Boost two years ago (see http://thread.gmane.org/gmane.comp.lib.boost.devel/243397). But I haven't heard anything about it lately.
Boris, Boosters, would it be a good idea to add some Boost.Process utilities to Boost.Interprocess? I'm thinking about process launching and pipes.
Named pipes are an interprocess mechanism. However named pipes can be synchronous or asynchronous and the asynchronous named pipe methodology is always needed for multi-threaded programs in my experience ( I wrote a named pipe asynchronous mechanism as part of my last consulting job ). Perhaps interprocess can use ASIO for the asynchronous portion of a named pipe implementation.
El 12/06/2015 a las 17:35, Edward Diener escribió:
Boris, Boosters, would it be a good idea to add some Boost.Process utilities to Boost.Interprocess? I'm thinking about process launching and pipes.
Named pipes are an interprocess mechanism. However named pipes can be synchronous or asynchronous and the asynchronous named pipe methodology is always needed for multi-threaded programs in my experience ( I wrote a named pipe asynchronous mechanism as part of my last consulting job ). Perhaps interprocess can use ASIO for the asynchronous portion of a named pipe implementation.
I was thinking about synchronous utilities, at least in the first integration, but using ASIO would be the way to go for asynchronous versions Best, Ion
participants (4)
-
Boris Schäling
-
Edward Diener
-
Ion Gaztañaga
-
Lloyd