C implementation of the Hazard-Pointers memory manager