type sync.RWMutex

59 uses

	sync (current package)
		rwmutex.go#L28: type RWMutex struct {
		rwmutex.go#L56: func (rw *RWMutex) RLock() {
		rwmutex.go#L75: func (rw *RWMutex) RUnlock() {
		rwmutex.go#L90: func (rw *RWMutex) rUnlockSlow(r int32) {
		rwmutex.go#L105: func (rw *RWMutex) Lock() {
		rwmutex.go#L131: func (rw *RWMutex) Unlock() {
		rwmutex.go#L157: func (rw *RWMutex) RLocker() Locker {
		rwmutex.go#L161: type rlocker RWMutex
		rwmutex.go#L163: func (r *rlocker) Lock()   { (*RWMutex)(r).RLock() }
		rwmutex.go#L164: func (r *rlocker) Unlock() { (*RWMutex)(r).RUnlock() }

	crypto/tls
		common.go#L692: 	mutex sync.RWMutex

	database/sql
		sql.go#L34: 	driversMu sync.RWMutex
		sql.go#L1846: 	closemu sync.RWMutex
		sql.go#L2029: 	closemu sync.RWMutex
		sql.go#L2450: 	closemu sync.RWMutex // held exclusively during close, for read otherwise.
		sql.go#L2785: 	closemu sync.RWMutex

	expvar
		expvar.go#L103: 	keysMu sync.RWMutex
		expvar.go#L269: 	varKeysMu sync.RWMutex

	github.com/ghodss/yaml
		fields.go#L287: 	sync.RWMutex

	github.com/go-git/gcfg/token
		position.go#L290: 	mutex sync.RWMutex // protects the file set

	github.com/go-redis/redis/v8
		cluster.go#L252: 	mu          sync.RWMutex
		ring.go#L210: 	mu       sync.RWMutex
		sentinel.go#L403: 	mu          sync.RWMutex

	github.com/golang-migrate/migrate/v4/database
		driver.go#L21: var driversMu sync.RWMutex

	github.com/golang-migrate/migrate/v4/source
		driver.go#L14: var driversMu sync.RWMutex

	github.com/lann/builder
		registry.go#L10: 	registryMux sync.RWMutex

	github.com/mitchellh/go-homedir
		homedir.go#L20: var cacheLock sync.RWMutex

	github.com/prometheus/client_golang/prometheus
		registry.go#L256: 	mtx                   sync.RWMutex
		vec.go#L213: 	mtx       sync.RWMutex // Protects metrics.

	go.opencensus.io/metric/metricexport
		reader.go#L71: 	mu         sync.RWMutex

	go.opencensus.io/metric/metricproducer
		manager.go#L26: 	mu        sync.RWMutex

	go.opencensus.io/stats
		measure.go#L72: 	mu       sync.RWMutex

	go.opencensus.io/stats/view
		worker.go#L51: 	mu         sync.RWMutex
		worker.go#L54: 	exportersMu sync.RWMutex

	go.opencensus.io/trace
		spanstore.go#L30: 	ssmu       sync.RWMutex // protects spanStores

	go/token
		position.go#L387: 	mutex sync.RWMutex // protects the file set

	golang.org/x/net/trace
		events.go#L152: 	famMu    sync.RWMutex
		events.go#L168: 	mu        sync.RWMutex
		events.go#L264: 	mu            sync.RWMutex
		trace.go#L443: 	activeMu     sync.RWMutex
		trace.go#L447: 	completedMu     sync.RWMutex
		trace.go#L452: 	mu sync.RWMutex
		trace.go#L569: 	LatencyMu sync.RWMutex
		trace.go#L596: 	mu     sync.RWMutex
		trace.go#L724: 	mu        sync.RWMutex

	golang.org/x/pkgsite/internal/proxydatasource
		datasource.go#L66: 	mu           sync.RWMutex

	google.golang.org/grpc
		clientconn.go#L490: 	mu              sync.RWMutex

	google.golang.org/grpc/internal/channelz
		funcs.go#L81: 	mu sync.RWMutex
		funcs.go#L322: 	mu               sync.RWMutex

	google.golang.org/protobuf/reflect/protoregistry
		registry.go#L40: var globalMutex sync.RWMutex

	gopkg.in/yaml.v2
		yaml.go#L308: var fieldMapMutex sync.RWMutex

	net
		dnsclient_unix.go#L324: 	mu        sync.RWMutex // protects dnsConfig
		interface.go#L179: 	sync.RWMutex                // guard the following

	net/http
		server.go#L2254: 	mu    sync.RWMutex

	os
		exec.go#L25: 	sigMu  sync.RWMutex // avoid race between wait and signal

	syscall
		env_unix.go#L21: 	envLock sync.RWMutex
		exec_unix.go#L66: var ForkLock sync.RWMutex

	testing
		testing.go#L386: 	mu          sync.RWMutex         // guards this group of fields

	text/template
		template.go#L20: 	muFuncs    sync.RWMutex // protects parseFuncs and execFuncs