"Aliases to mutable thread-local data not allowed" when using spawn()
D_Beginner
mailsnachhier-privat at yahoo.de
Sun Dec 2 10:44:58 PST 2012
On Sunday, 2 December 2012 at 15:47:36 UTC, D_Beginner wrote:
> Hi there,
>
> I'm quite new do D, but from what I've seen so far, I really
> like it.
> I tried to implement a very basic chatclient that I've written
> in
> Go before, and put the logics to send messages in a send()
> function, looking like this:
>
> void send(TcpSocket sock) {
> while(true) {
> write("Message: ");
> auto msg = strip(readln());
> sock.send(msg);
> }
> }
>
> Of course I need this function to run concurrently for I have
> to check for answers from the server at the same time. But when
> I try to launch it in an own thread:
>
> spawn(&send, sock);
>
> I get this strange error:
>
> "Error: static assert "Aliases to mutable thread-local data not
> allowed""
>
> Why is that? How can I make my function(s) run concurrently if
> not in that way?
>
> thanks in advance, D_Beginner.
Alright, I changed from std.concurrency to std.parallelism and it
works fine.
More information about the Digitalmars-d-learn
mailing list