Rewrote ReadWriteProtector to use semaphores rather than an unclean attempt with atomics ; renamed class ReadWriteProtector to RWProtect ; removed commented-out includes