On Tue, Oct 30, 2007 at 10:59:24 +0300, Tomash Brechko wrote: > On Tue, Oct 30, 2007 at 08:56:08 +0100, Eric Botcazou wrote: > > > The use doesn't become proper simply because it appears in the code, > > > even if in the code of GCC. volatile might be used there for > > > completely different reasons. > > > > No, I put it there for this purpose. > > Then you could remove it, if not for unlocked access.
Frankly, you realise the consequences of volatile access, you have this comment: /* Avoid reading __gthread_active twice on the main code path. */ int __gthread_active_latest_value = __gthread_active; Now, do you really believe that every multithreaded program should use volatile, and then should copy shared data to temporal storage, just because volatile is such a hammer? You may have to, with current compilers, but that's not what was supposed by POSIX. -- Tomash Brechko