std/rlocks

Source   Edit  

This module contains Nim's support for reentrant locks.

Types

RLock = SysLock
Nim lock, re-entrant Source   Edit  

Procs

proc acquire(lock: var RLock) {.inline, ...raises: [], tags: [], forbids: [].}
Acquires the given lock. Source   Edit  
proc deinitRLock(lock: var RLock) {.inline, ...raises: [], tags: [], forbids: [].}
Frees the resources associated with the lock. Source   Edit  
proc initRLock(lock: var RLock) {.inline, ...raises: [], tags: [], forbids: [].}
Initializes the given lock. Source   Edit  
proc release(lock: var RLock) {.inline, ...raises: [], tags: [], forbids: [].}
Releases the given lock. Source   Edit  
proc tryAcquire(lock: var RLock): bool {.inline, ...raises: [], tags: [],
    forbids: [].}
Tries to acquire the given lock. Returns true on success. Source   Edit  

Templates

template withRLock(lock: RLock; code: untyped)
Acquires the given lock and then executes the code. Source   Edit