socketpair

Rikki Cattermole via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Dec 30 18:26:23 PST 2015


On 31/12/15 3:22 PM, sanjayss wrote:
> std.socket supports the socketpair() function, but it seems like this
> api is not really usable in any of the concurrency primitives supported
> by D. So what is the purpose of the socketpair() support?
>
> Basically I am trying to create two threads and am trying to use
> socketpair() to create two sockets and use them to communicate between
> the threads, but none of the socket API's allow use of shared
> socket-pair (probably correctly so). So how else can one implement a
> foreground event loop that supports both key-presses and network socket
> events -- I was hoping to do the keyboard event in one thread and use
> the socketpair to communicate to the actual foreground event loop via
> the socketpair sockets.
>
> Any help on how one would code this in D is welcome.

Wrong tool for the job.
You want message passing not sockets to communicate between threads in 
this case.

You're wanting the functions receive and send relating to:
http://dlang.org/phobos/std_concurrency.html


More information about the Digitalmars-d-learn mailing list