non TS semaphore fixed