Grant the shared lock, even though others are waiting?

Or put the requester in the queue?

The implementation puts the requester in the queue.