github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/kbfs/kbfssync/rwlocker.go (about)

     1  // Copyright 2016 Keybase Inc. All rights reserved.
     2  // Use of this source code is governed by a BSD
     3  // license that can be found in the LICENSE file.
     4  
     5  package kbfssync
     6  
     7  import "sync"
     8  
     9  // A rwLocker represents an object that can be reader-locked and
    10  // reader-unlocked as well as locked and unlocked.
    11  type rwLocker interface {
    12  	sync.Locker
    13  	RLock()
    14  	RLocker() sync.Locker
    15  	RUnlock()
    16  }