Something needs to happen with shared, and soon.
Jacob Carlborg
doob at me.com
Thu Nov 15 02:14:54 PST 2012
On 2012-11-15 10:22, Manu wrote:
> Not to repeat my prev post... but in reply to Walter's take on it, it
> would be interesting if 'shared' just added implicit lock()/unlock()
> methods to do the mutex acquisition and then remove the cast
> requirement, but have the language runtime assert that the object is
> locked whenever it is accessed (this guarantees the safety in a more
> useful way, the casts are really annying). I can't imagine a simpler and
> more immediately useful solution.
How about implementing a library function, something like this:
shared int i;
lock(i, (x) {
// operate on x
});
* "lock" will acquire a lock
* Cast away shared for "i"
* Call the delegate with the now plain "int"
* Release the lock
http://pastebin.com/tfQ12nJB
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list