update Semaphore