Should core.sync.mutex.Mutex, core.sync.condition.Condition, etc. have all their methods be shared?

Alex Rønne Petersen alex at lycus.org
Sat Nov 17 20:51:00 PST 2012


On 18-11-2012 05:46, Jonathan M Davis wrote:
> I don't know if we can answer this for sure at the moment given the ongoing
> discussion on shared, but looking at core.sync, it occurred to me that there's
> a major problem with the classes in there. None of the work with shared. And
> unless I'm missing something here, I don't see how many of them are even
> useful as anything other than shared. After all, what good is a mutex which is
> thread-local? But none of the methods on Mutex or its friends are shared.
>
> So, the question is should the all have their methods shared? And if they
> should, is there any reason to have non-shared overloads for them? What good
> are they as anything other than shared? How is anyone using them right now?
>
> - Jonathan M Davis
>

Not at this point in time. It would break a ridiculous amount of code if 
we did this, given the current extremely annoying nature of shared.

Most D code I have seen in the wild just shares mutexes, conditions, etc 
with __gshared or some other mechanism anyway, so I don't think there's 
anything to gain. Like, what would shared actually buy you here?

-- 
Alex Rønne Petersen
alex at lycus.org
http://lycus.org


More information about the Digitalmars-d mailing list