Review this C++ lock-free free-list. pop hands out a node; push returns one. Multiple threads call both.
pop
push