We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 6ee36e1 commit 5c6aae7Copy full SHA for 5c6aae7
deadlock.go
@@ -27,23 +27,27 @@ func (m *Mutex) Unlock() {
27
}
28
29
type RWMutex struct {
30
- Mutex
+ monitor
31
+ sync.RWMutex
32
33
-func (rw *RWMutex) Lock() {
34
- rw.Lock()
+func (m *RWMutex) Lock() {
35
+ waitInfo := m.monitor.wait()
36
+ m.RWMutex.Lock()
37
+ m.monitor.using(waitInfo)
38
39
-func (rw *RWMutex) Unlock() {
- rw.Unlock()
40
+func (m *RWMutex) Unlock() {
41
+ m.monitor.release()
42
+ m.RWMutex.Unlock()
43
44
-func (rw *RWMutex) RLock() {
45
+func (m *RWMutex) RLock() {
46
+ m.RWMutex.RLock()
47
48
-func (rw *RWMutex) RUnlock() {
49
+func (m *RWMutex) RUnlock() {
50
+ m.RWMutex.RUnlock()
51
52
53
var (
0 commit comments