I think this binary semaphore is misleading, I am expecting it is blocking forever. I am wondering why binary semaphore exists, if it acts just like counting semaphore.