use semaphores to serialize updates of server rules and client lists