Для lock-free программ для управления памятью я использовал hazard pointers и tbb::scalable_allocator — что б ABA проблему решить.
Попробовал g_slice_alloc/g_slice_free — тоже работает. Так выглядит, что g_slice_alloc/g_slice_free справляются с ABA?
Кто нибудь может это подвердить или опровергнуть?