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?
Thank you! We'll create more content like this.
Thank you for helping us improve!
😔 What went wrong?