initial use of semaphore