$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Roland Schwarz (roland.schwarz_at_[hidden])
Date: 2006-11-12 10:37:21
Neal Becker wrote:
> Perhaps of some interest:
>
> http://www.hpl.hp.com/research/linux/atomic_ops/
You might also look at:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2047.html
Hans Boehm's proposal seems to build upon this library you
were pointing at. (Not surprisingly, since he is the author of it.)
I am currently trying to prototype something along his proposal, to
see how far I can get.
Until now I have found some loopholes I am trying to figure out.
E.g.:
atomic<int> i1;
atomic<int> i2;
i1 = 42; // assignment is atomic
i1 = i2; // assignment is not atomic !
--> should atomics be allowed to be copyable?
I would say: yes and no. I would expect that the value can be
transfered, but it should be semantically equivalent to:
int t;
t = i1;
i2 = t;
The current proposal as far as I can see does not address this
issue. It allows for a bitwise copy by the compiler.
Or :
struct a4 {
char c[4];
};
atomic<a4> a;
Shall this be possible, if a4 is POD and has same alignment and
size of a type that can be manipulated atomically?
If yes, how can it be implemented?
If you like we can discuss this further.
Roland