Fixed futex race conditions. Ported it to C++11. Changed to multi-producer single consumer