diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2017-04-02 23:44:50 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-04-02 23:44:50 +0200 |
commit | 57b7c45128bc4257157ce905537db2f3fb970b7b (patch) | |
tree | 98db34a7b987dd7135792615a58e75ba58e15e38 /lib/system/syslocks.nim | |
parent | c785066ee343268c5ef9c19c4d334a0f1e8e8c48 (diff) | |
parent | cab2ce7e8770f35561f002bab601358a09535ef2 (diff) | |
download | Nim-57b7c45128bc4257157ce905537db2f3fb970b7b.tar.gz |
Merge branch 'devel' into araq
Diffstat (limited to 'lib/system/syslocks.nim')
-rw-r--r-- | lib/system/syslocks.nim | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/system/syslocks.nim b/lib/system/syslocks.nim index c3e23052b..9d056611f 100644 --- a/lib/system/syslocks.nim +++ b/lib/system/syslocks.nim @@ -75,6 +75,28 @@ when defined(Windows): proc waitSysCondWindows(cond: var SysCond) = discard waitForSingleObject(cond, -1'i32) +elif defined(genode): + const + Header = "genode_cpp/syslocks.h" + type + SysLock {.importcpp: "Nim::SysLock", pure, final, + header: Header.} = object + SysCond {.importcpp: "Nim::SysCond", pure, final, + header: Header.} = object + + proc initSysLock(L: var SysLock) = discard + proc deinitSys(L: var SysLock) = discard + proc acquireSys(L: var SysLock) {.noSideEffect, importcpp.} + proc tryAcquireSys(L: var SysLock): bool {.noSideEffect, importcpp.} + proc releaseSys(L: var SysLock) {.noSideEffect, importcpp.} + + proc initSysCond(L: var SysCond) = discard + proc deinitSysCond(L: var SysCond) = discard + proc waitSysCond(cond: var SysCond, lock: var SysLock) {. + noSideEffect, importcpp.} + proc signalSysCond(cond: var SysCond) {. + noSideEffect, importcpp.} + else: type SysLock {.importc: "pthread_mutex_t", pure, final, |