On Tue, 2014-06-17 at 09:07 +0800, Nor Jaidi Tuah wrote:
Thank you for all the feedback and discussion.
I now realize that my app, which seems to work
perfectly, is a time bomb that would blow
my brain away because I'm using a "pipeline"
where a finished job is indicated by setting
a flag as the final instruction. Like this:
.....
// do stuff
.....
// and finally
flag = flag_val;
// WRONG. Can be reordered even if
// atomicity can be assumed
I have to put a barrier to ensure that the flag
setting is REALLY the final instruction. Can
I do this?
.....
// do stuff
.....
// and finally
AtomicInt set (ref flag, flag_val);
// Safe????
What's the correct way to do this in vala?
Nice day
Nor Jaidi Tuah
It should be safe with respect to setting flag. The AtomicInt set will not be reordered neither by the compiler nor by processor. Best regards
Attachment:
signature.asc
Description: This is a digitally signed message part