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
[email protected]
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to