Use the read/write semaphore instead the spin lock in server module