summary refs log tree commit diff stats
path: root/lib/core
diff options
context:
space:
mode:
authorflywind <xzsflywind@gmail.com>2021-04-19 16:33:56 +0800
committerGitHub <noreply@github.com>2021-04-19 10:33:56 +0200
commitcedbc7035d171d1535365c8acb889911b839ce99 (patch)
tree6fae1b5b9e7da7b25ac9d5e75dfc87a585d2a546 /lib/core
parentf8038af5ecfa20deaa0b9b1e0d8a5f5915dd9780 (diff)
downloadNim-cedbc7035d171d1535365c8acb889911b839ce99.tar.gz
[std/locks]remove workaround for withLock (#17772)
Ref #6113 and #6049

The workaround for generics instantiation is unnecessary. It seems to be fixed by another PR I guess.

The test still works. So the changes should be harmless.
https://github.com/nim-lang/Nim/blob/devel/tests/stdlib/tlocks.nim

I also add some inline pragmas.
Diffstat (limited to 'lib/core')
-rw-r--r--lib/core/locks.nim7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/core/locks.nim b/lib/core/locks.nim
index 1540e2bcd..674817674 100644
--- a/lib/core/locks.nim
+++ b/lib/core/locks.nim
@@ -42,16 +42,16 @@ proc deinitLock*(lock: var Lock) {.inline.} =
   ## Frees the resources associated with the lock.
   deinitSys(lock)
 
-proc tryAcquire*(lock: var Lock): bool =
+proc tryAcquire*(lock: var Lock): bool {.inline.} =
   ## Tries to acquire the given lock. Returns `true` on success.
   result = tryAcquireSys(lock)
 
-proc acquire*(lock: var Lock) =
+proc acquire*(lock: var Lock) {.inline.} =
   ## Acquires the given lock.
   when not defined(js):
     acquireSys(lock)
 
-proc release*(lock: var Lock) =
+proc release*(lock: var Lock) {.inline.} =
   ## Releases the given lock.
   when not defined(js):
     releaseSys(lock)
@@ -76,7 +76,6 @@ 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
   acquire(a)
   {.locks: [a].}:
     try: