interprocess communication and sharing memory
Laeeth Isharc via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Sep 2 19:51:58 PDT 2015
On Thursday, 3 September 2015 at 01:27:15 UTC, j55 wrote:
> This is my first attempt at a project in D, so pardon me if I'm
> overlooking something obvious:
>
> I'm using libasync to create an eventloop, to set up something
> like a server/daemon process. This part works very well.
> We'll call this Server A.
>
> Now I'd like to write another process (running on the same
> computer), we'll call Client B, and pass signals in to Server
> A. I want to be able to create the process independently from
> Server A, I don't want to have to spawn the process from the
> server. I'd also like to avoid creating a pipe process just to
> pass information from/to Server A and Client B.
>
> What would be a good way to have Client B identify and pass
> signals and information to Server A (and back)? I would prefer
> to choose the fastest solution, as I hope to expand this to
> relatively large data sets.
>
> After I get simple signal passing working, I'd like to attempt
> passing shared memory of c-style arrays with Plain Old Data
> types.
>
> I've read many posts about shared memory and interprocess
> communication in D, but I didn't see any conclusive information
> about whether this type of interprocess memory sharing will be
> convenient or practical in D. If it doesn't work out, I have
> some prototype already working in c++ with boost interprocess,
> but I'd prefer to use a native D solution if possible.
It's probably a stupid idea, but until someone with experience
answers: what happens if you declare the memory as shared or
__gshared and send a pointer to it via message passing or a pipe?
More information about the Digitalmars-d-learn
mailing list