diff --git a/lib/core/locks.nim b/lib/core/locks.nim index 068e7133ca..fbe9c8acfc 100644 --- a/lib/core/locks.nim +++ b/lib/core/locks.nim @@ -9,6 +9,7 @@ ## This module contains Nim's support for locks and condition vars. +const insideRLocksModule = false include "system/syslocks" type diff --git a/lib/system.nim b/lib/system.nim index 03b9e158aa..bcb55fe487 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -2884,6 +2884,7 @@ when not defined(JS): #and not defined(nimscript): when declared(initAllocator): initAllocator() when hasThreadSupport: + const insideRLocksModule = false include "system/syslocks" when hostOS != "standalone": include "system/threads" elif not defined(nogc) and not defined(nimscript): diff --git a/lib/system/syslocks.nim b/lib/system/syslocks.nim index 07f6fe1677..1695deca13 100644 --- a/lib/system/syslocks.nim +++ b/lib/system/syslocks.nim @@ -91,7 +91,7 @@ else: proc initSysLock(L: var SysLock, attr: ptr SysLockAttr = nil) {. importc: "pthread_mutex_init", header: "", noSideEffect.} - when compiles(insideRLocksModule): + when insideRLocksModule: proc SysLockType_Reentrant: SysLockType = {.emit: "`result` = PTHREAD_MUTEX_RECURSIVE;".} proc initSysLockAttr(a: var SysLockAttr) {. @@ -112,7 +112,7 @@ else: proc deinitSys(L: var SysLock) {.noSideEffect, importc: "pthread_mutex_destroy", header: "".} - when not compiles(insideRLocksModule): + when not insideRLocksModule: proc initSysCond(cond: var SysCond, cond_attr: pointer = nil) {. importc: "pthread_cond_init", header: "", noSideEffect.} proc waitSysCond(cond: var SysCond, lock: var SysLock) {.