Re: [Vala] "vala friendly" atomic pointer
- From: Tal Hadad <tal_hd hotmail com>
- To: Vala Mail List <vala-list gnome org>
- Subject: Re: [Vala] "vala friendly" atomic pointer
- Date: Thu, 19 Dec 2013 17:16:49 +0200
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 tuah 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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]