Delete platform preprocessing macros. Rewrite semaphores as named. Delete unnamed semaphore