http://www.valadoc.org/#!api=gobject-2.0/GLib.WeakRef
This is a simple solution thanks to the good design of GObject. Tal > From: norjaidi.t...@ubd.edu.bn > To: vala-list@gnome.org > Date: Thu, 19 Dec 2013 08:59:44 +0800 > Subject: [Vala] "vala friendly" atomic pointer > > Dear all, > > I want to implement something like these: > * x = AtomicPointer.@get (ref atomicRef) // reader > > * AtomicPointer.@set (ref atomicRef, newref) // writer > > * return AtomicPointer.@get (ref atomicRef) // reader > > but have the benefit of vala ref counting. > > The best I can think of is: > > * lock (atomicRef) { x = atomicRef; } > > * lock (atomicRef) { atomicRef = newref; } > > * lock (atomicRef) { return atomicRef; } > > But lock is too course. > e.g., lock (atomicRef) {x = atomicRef;} will also lock > out other readers, whereas AtomicPointer.get won't. > > I realise that the exclusive region is small. > But if you have a lot of readers, the effect > may be significant. > > Any suggestions? > > > Nice day > Nor Jaidi Tuah > > > > > > > PRIVILEGED/CONFIDENTIAL information may be contained in this message. If you > are neither the addressee (intended recipient) nor an authorised recipient of > the addressee, and have received this message in error, please destroy this > message (including attachments) and notify the sender immediately. STRICT > PROHIBITION: This message, whether in part or in whole, should not be > reviewed, retained, copied, reused, disclosed, distributed or used for any > purpose whatsoever. Such unauthorised use may be unlawful and may contain > material protected by the Official Secrets Act (Cap 153) of the Laws of > Brunei Darussalam. DISCLAIMER: We/This Department/The Government of Brunei > Darussalam, accept[s] no responsibility for loss or damage arising from the > use of this message in any manner whatsoever. Our messages are checked for > viruses but we do not accept liability for any viruses which may be > transmitted in or with this message. > _______________________________________________ > vala-list mailing list > vala-list@gnome.org > https://mail.gnome.org/mailman/listinfo/vala-list _______________________________________________ vala-list mailing list vala-list@gnome.org https://mail.gnome.org/mailman/listinfo/vala-list