lib/sync: Add option for sasha-s/go-deadlock
This commit is contained in:
@@ -15,6 +15,8 @@ import (
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/sasha-s/go-deadlock"
|
||||
)
|
||||
|
||||
type Mutex interface {
|
||||
@@ -35,6 +37,9 @@ type WaitGroup interface {
|
||||
}
|
||||
|
||||
func NewMutex() Mutex {
|
||||
if useDeadlock {
|
||||
return deadlock.Mutex{}
|
||||
}
|
||||
if debug {
|
||||
mutex := &loggedMutex{}
|
||||
mutex.holder.Store(holder{})
|
||||
@@ -44,6 +49,9 @@ func NewMutex() Mutex {
|
||||
}
|
||||
|
||||
func NewRWMutex() RWMutex {
|
||||
if useDeadlock {
|
||||
return deadlock.RWMutex{}
|
||||
}
|
||||
if debug {
|
||||
mutex := &loggedRWMutex{
|
||||
readHolders: make(map[int][]holder),
|
||||
|
||||
Reference in New Issue
Block a user