
Neal Becker wrote:
Perhaps of some interest:
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