Skip to main content
Log in

Mojo struct

BlockingScopedLock

A scope adapter for BlockingSpinLock.

Aliases​

  • LockType = BlockingSpinLock: The type of the lock.

Fields​

  • ​lock (UnsafePointer[BlockingSpinLock, 0, 0, alignof[::AnyType,__mlir_type.!kgen.target]() if triple_is_nvidia_cuda() else 1]): The underlying lock instance.

Implemented traits​

AnyType

Methods​

__init__​

__init__(inout self: Self, lock: UnsafePointer[BlockingSpinLock, 0, 0, alignof[::AnyType,__mlir_type.!kgen.target]() if triple_is_nvidia_cuda() else 1])

Primary constructor.

Args:

  • ​lock (UnsafePointer[BlockingSpinLock, 0, 0, alignof[::AnyType,__mlir_type.!kgen.target]() if triple_is_nvidia_cuda() else 1]): A pointer to the underlying lock.

__init__(inout self: Self, inout lock: BlockingSpinLock)

Secondary constructor.

Args:

  • ​lock (BlockingSpinLock): A mutable reference to the underlying lock.

__enter__​

__enter__(inout self: Self)

Acquire the lock on entry. This is done by setting the owner of the lock to own address.

__exit__​

__exit__(inout self: Self)

Release the lock on exit. Reset the address on the underlying lock.

Was this page helpful?