Marco Leise via Digitalmars-d-learn
2014-10-19 13:51:49 UTC
I have a thread that is shared by
others, so I have a shared method, inside of which I wrote:
final void opOpAssign(string op : "~")(ref StreamingObject item) shared
{
synchronized (m_condition.mutex)
{
m_list.unshared ~= item;
m_condition.notify();
}
}
Error: non-shared method core.sync.condition.Condition.mutex is not callable using a shared object
Where exactly should my stuff stop to be shared so I can call .mutex ?
Btw.:
StreamingObject is a struct
unshared is a @property that casts away sharedness
others, so I have a shared method, inside of which I wrote:
final void opOpAssign(string op : "~")(ref StreamingObject item) shared
{
synchronized (m_condition.mutex)
{
m_list.unshared ~= item;
m_condition.notify();
}
}
Error: non-shared method core.sync.condition.Condition.mutex is not callable using a shared object
Where exactly should my stuff stop to be shared so I can call .mutex ?
Btw.:
StreamingObject is a struct
unshared is a @property that casts away sharedness
--
Marco
Marco