code: boolean read_lock() {
      while( true ) {     // Repeat, in case racing GETs are bumping the counter
        int old = _rwlock.get();
        if( old == -1 ) return false; // Write-locked; no new replications.  Read fails to read *this* value
        assert old >= 0;              // Not negative
        if( RW_CAS(old,old+1,"rlock+") ) return true;
      }
    }
docs: Bump the read lock, once per pending-GET or pending-Invalidate