At the moment, pipe_circular and pipe_archiver are protected by condition variables and mutexes. It should be possible to use atomic protection with the existing template (See atomic<>, cas1<>, cas2<>, etc...). It may also allow to use existing lock-free lists ?