typo
getuser semaphore optim