package syncx

import "github.com/ethereum/go-ethereum/internal/syncx"

Package syncx contains exotic synchronization primitives.

Index

Types

type ClosableMutex

type ClosableMutex struct {
	// contains filtered or unexported fields
}

ClosableMutex is a mutex that can also be closed. Once closed, it can never be taken again.

func NewClosableMutex

func NewClosableMutex() *ClosableMutex

func (*ClosableMutex) Close

func (cm *ClosableMutex) Close()

Close locks the mutex, then closes it.

func (*ClosableMutex) MustLock

func (cm *ClosableMutex) MustLock()

MustLock locks cm. If the mutex is closed, MustLock panics.

func (*ClosableMutex) TryLock

func (cm *ClosableMutex) TryLock() bool

TryLock attempts to lock cm. If the mutex is closed, TryLock returns false.

func (*ClosableMutex) Unlock

func (cm *ClosableMutex) Unlock()

Unlock unlocks cm.

Source Files

mutex.go

Version
v1.15.11 (latest)
Published
May 5, 2025
Platform
linux/amd64
Last checked
2 days ago

Tools for package owners.