Re: [Vala] "vala friendly" atomic pointer



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]