I created semaphores in https://github.com/bigeasy/strata.