Back to

package syncdebug

v0.0.0 (f5505b9)
Latest Go to latest
Published: Apr 11, 2020 | License: Apache-2.0 | Module:


Package syncdebug contains facilities for debugging synchronization problems.


func GoroutineID

func GoroutineID() int64

GoroutineID returns the current goroutine's ID. Use of this function is almost always a terrible idea. It is also very slow. GoroutineID is intended only for debugging. In particular, it is used by syncutil.

type RWMutexTracker

type RWMutexTracker struct {
	// contains filtered or unexported fields

RWMutexTracker is a sync.RWMutex that tracks who owns the current exclusive lock. It's used for debugging deadlocks.

func (*RWMutexTracker) Holder

func (m *RWMutexTracker) Holder() string

Holder returns the stack trace of the current exclusive lock holder's stack when it acquired the lock (with Lock). It returns the empty string if the lock is not currently held.

func (*RWMutexTracker) Lock

func (m *RWMutexTracker) Lock()

func (*RWMutexTracker) RLock

func (m *RWMutexTracker) RLock()

func (*RWMutexTracker) RUnlock

func (m *RWMutexTracker) RUnlock()

func (*RWMutexTracker) Unlock

func (m *RWMutexTracker) Unlock()
Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier