Update semaphore.go