compilation error with shared ReadWriteMutex
jj75607 via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Jun 30 05:18:07 PDT 2016
I wrote shared class with rwmutex
import core.sync.rwmutex;
shared class Shared
{
ReadWriteMutex rwmutex;
int[] items;
this()
{
rwmutex = new ReadWriteMutex();
}
}
But it fails with:
Error: cannot implicitly convert expression (new
ReadWriteMutex(cast(Policy)1)) of type
core.sync.rwmutex.ReadWriteMutex to shared(ReadWriteMutex)
I add `shared' keyword to the `rwmutex' variable
shared class Shared
{
shared(ReadWriteMutex) rwmutex;
int[] items;
this()
{
rwmutex = new shared(ReadWriteMutex)();
}
}
And got another compilation error:
Error: non-shared method core.sync.rwmutex.ReadWriteMutex.this
is not callable using a shared object
How can I use shared class with mutex correctly?
More information about the Digitalmars-d-learn
mailing list