Thanks Daniel, you know this code better. About the atomic integers, I also thought that. But as the reporter had some issues I did a quick research, it seems it might be also depends on the architecture and also on alignment. But maybe the issue was just caused from the if-check-then-update case.