e.g. say this assume the caller already has the read lock of this rwlock