26 lines
		
	
	
		
			437 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			437 B
		
	
	
	
		
			Go
		
	
	
	
package render
 | 
						|
 | 
						|
import "sync"
 | 
						|
 | 
						|
// rwLock represents an interface for sync.RWMutex.
 | 
						|
type rwLock interface {
 | 
						|
	Lock()
 | 
						|
	Unlock()
 | 
						|
	RLock()
 | 
						|
	RUnlock()
 | 
						|
}
 | 
						|
 | 
						|
var (
 | 
						|
	// Ensure our interface is correct.
 | 
						|
	_ rwLock = &sync.RWMutex{}
 | 
						|
	_ rwLock = emptyLock{}
 | 
						|
)
 | 
						|
 | 
						|
// emptyLock is a noop RWLock implementation.
 | 
						|
type emptyLock struct{}
 | 
						|
 | 
						|
func (emptyLock) Lock()    {}
 | 
						|
func (emptyLock) Unlock()  {}
 | 
						|
func (emptyLock) RLock()   {}
 | 
						|
func (emptyLock) RUnlock() {}
 |