add posix semaphore