code: func (dm *DRWMutex) GetRLock(id, source string, timeout time.Duration) (locked bool) {
  
  	isReadLock := true
  	return dm.lockBlocking(timeout, id, source, isReadLock)
  }
docs: // GetRLock tries to get a read lock on dm before the timeout elapses.
  //
  // If one or more read locks are already in use, it will grant another lock.
  // Otherwise the calling go routine blocks until either the mutex becomes
  // available and return success or more time has passed than the timeout
  // value and return false.