fix semaphore init bug