summary refs log tree commit diff stats
path: root/lib/core/locks.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/core/locks.nim')
-rw-r--r--lib/core/locks.nim5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/core/locks.nim b/lib/core/locks.nim
index fbe9c8acf..f9add0037 100644
--- a/lib/core/locks.nim
+++ b/lib/core/locks.nim
@@ -19,6 +19,8 @@ type
 
 {.deprecated: [TLock: Lock, TCond: Cond].}
 
+{.push stackTrace: off.}
+
 proc initLock*(lock: var Lock) {.inline.} =
   ## Initializes the given lock.
   initSysLock(lock)
@@ -59,9 +61,12 @@ proc signal*(cond: var Cond) {.inline.} =
 template withLock*(a: Lock, body: untyped) =
   ## Acquires the given lock, executes the statements in body and
   ## releases the lock after the statements finish executing.
+  mixin acquire, release
   a.acquire()
   {.locks: [a].}:
     try:
       body
     finally:
       a.release()
+
+{.pop.}