summary refs log tree commit diff stats
path: root/lib/system/syslocks.nim
diff options
context:
space:
mode:
authorshirleyquirk <31934565+shirleyquirk@users.noreply.github.com>2020-10-15 11:54:01 +0100
committerGitHub <noreply@github.com>2020-10-15 12:54:01 +0200
commit4ef255b69d00d66e4554bad72fab1780578792f5 (patch)
tree6b6ed0ece7238e9e8bfe71fc9e619522fdbd7669 /lib/system/syslocks.nim
parentda4aa2e1fb8b0084fcf03b85edf4a5c1d0170856 (diff)
downloadNim-4ef255b69d00d66e4554bad72fab1780578792f5.tar.gz
fix rlock compilation failure (#15584)
* change SysLockType_Reentrant

fix edge case where using SysLockType_Reentrant doesn't trigger an #include pthread.h

* syslocktype_reentrant now a var
* remove nodecl to remove empty system_syslocks.c
* let is better than var.

in reality SysLockType = enum, maybe that would be a better fix
Diffstat (limited to 'lib/system/syslocks.nim')
-rw-r--r--lib/system/syslocks.nim4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/system/syslocks.nim b/lib/system/syslocks.nim
index b7f7aa6bf..07fb9cb8a 100644
--- a/lib/system/syslocks.nim
+++ b/lib/system/syslocks.nim
@@ -181,8 +181,8 @@ else:
       releaseSysAux(L)
 
   when insideRLocksModule:
-    proc SysLockType_Reentrant: SysLockType =
-      {.emit: "`result` = PTHREAD_MUTEX_RECURSIVE;".}
+    let SysLockType_Reentrant{.importc: "PTHREAD_MUTEX_RECURSIVE",
+      header: "<pthread.h>".}: SysLockType
     proc initSysLockAttr(a: var SysLockAttr) {.
       importc: "pthread_mutexattr_init", header: "<pthread.h>", noSideEffect.}
     proc setSysLockType(a: var SysLockAttr, t: SysLockType) {.