> Agree with Maxim. I which way the application is not 32 bit compliant?
It uses 128-bit atomics, and so is really designed for execution on 64-bit machines. It is possible to provide lockless 32-bit support in this case, though, and I have an implementation that does so. Since the pointer size is halved and there is a pointer in the 128-bit struct, I just have to squash a few of the other fields down (managing them carefully) so that 64-bit atomics can be used instead. On reflection, I think that providing 32-bit support is probably worthwhile here, so I will do so. It does add a little complexity to the code, but it's not actually that much, and there are clear benefits from having the example be better supported on different platforms. I do think that having a place for 64-bit only examples in the future (e.g. an "example_64" directory as Bill outlined) might be useful though. It isn't always so easy to add 32-bit support.