type sync.RWMutex

28 uses

	sync (current package)
		rwmutex.go#L36: type RWMutex struct {
		rwmutex.go#L64: func (rw *RWMutex) RLock() {
		rwmutex.go#L84: func (rw *RWMutex) TryRLock() bool {
		rwmutex.go#L111: func (rw *RWMutex) RUnlock() {
		rwmutex.go#L126: func (rw *RWMutex) rUnlockSlow(r int32) {
		rwmutex.go#L141: func (rw *RWMutex) Lock() {
		rwmutex.go#L166: func (rw *RWMutex) TryLock() bool {
		rwmutex.go#L198: func (rw *RWMutex) Unlock() {
		rwmutex.go#L230: func syscall_hasWaitingReaders(rw *RWMutex) bool {
		rwmutex.go#L237: func (rw *RWMutex) RLocker() Locker {
		rwmutex.go#L241: type rlocker RWMutex
		rwmutex.go#L243: func (r *rlocker) Lock()   { (*RWMutex)(r).RLock() }
		rwmutex.go#L244: func (r *rlocker) Unlock() { (*RWMutex)(r).RUnlock() }

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

	crypto/x509
		root.go#L14: 	systemRootsMu  sync.RWMutex

	github.com/gotd/td/internal/mtproto
		conn.go#L71: 	sessionMux sync.RWMutex
		conn.go#L103: 	exchangeLock sync.RWMutex

	github.com/gotd/td/internal/pool
		session.go#L20: 	mux  sync.RWMutex

	github.com/gotd/td/session
		storage_mem.go#L15: 	mux  sync.RWMutex

	go.uber.org/zap
		encoder.go#L42: 	_encoderMutex sync.RWMutex
		global.go#L41: 	_globalMu sync.RWMutex

	net
		interface.go#L182: 	sync.RWMutex                // guard the following

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

	nhooyr.io/websocket
		compress.go#L171: var swPoolMu 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#L65: var ForkLock sync.RWMutex
		forkpipe2.go#L28: func hasWaitingReaders(rw *sync.RWMutex) bool