Add semaphore file support