What is the best way to forward a string[] as argument to a function called through std.concurrency.spawn().

I need this in the following example where I start the vibe.d event loop in the main thread (the only way I've managed to get runEventLoop() to work) and run my other program logic in another which requires command line arguments to passed to the new thread.

void otherMain(string[] args)
{
    // use args
}

void main(string[] args)
{
    import std.concurrency: spawn;
auto otherMainTid = spawn(&otherMain, args); // this line fails
    runEventLoop();
}

The line calling spawn() fails as

/home/per/opt/x86_64-unknown-linux-gnu/dmd/linux/bin64/src/phobos/std/concurrency.d(442): Error: static assert "Aliases to mutable thread-local data not allowed."

Reply via email to