std/private/syslocks
Source Edit Types
SysCond {.importc: "RTL_CONDITION_VARIABLE", header: "<windows.h>", byref.} = object - Source Edit
SysLock {.importc: "CRITICAL_SECTION", header: "<windows.h>", final, pure, byref.} = object - Source Edit
Procs
proc acquireSys(L: var SysLock) {.importc: "EnterCriticalSection",
header: "<windows.h>", ...raises: [], tags: [],
forbids: [].} - Acquires the lock
L. Source Edit proc broadcastSysCond(hEvent: var SysCond) {.stdcall, noSideEffect,
dynlib: "kernel32", importc: "WakeAllConditionVariable", ...raises: [],
tags: [], forbids: [].} - Source Edit
proc deinitSys(L: SysLock) {.importc: "DeleteCriticalSection",
header: "<windows.h>", ...raises: [], tags: [],
forbids: [].} - Source Edit
proc deinitSysCond(cond: SysCond) {.inline, ...raises: [], tags: [], forbids: [].} - Source Edit
proc initSysCond(cond: var SysCond) {.inline, ...raises: [], tags: [], forbids: [].} - Source Edit
proc initSysLock(L: var SysLock) {.importc: "InitializeCriticalSection",
header: "<windows.h>", ...raises: [], tags: [],
forbids: [].} - Initializes the lock
L. Source Edit proc releaseSys(L: var SysLock) {.importc: "LeaveCriticalSection",
header: "<windows.h>", ...raises: [], tags: [],
forbids: [].} - Releases the lock
L. Source Edit proc signalSysCond(hEvent: var SysCond) {.stdcall, noSideEffect,
dynlib: "kernel32", importc: "WakeConditionVariable", ...raises: [], tags: [],
forbids: [].} - Source Edit
proc tryAcquireSys(L: var SysLock): bool {.inline, ...raises: [], tags: [],
forbids: [].} - Source Edit
proc waitSysCond(cond: var SysCond; lock: var SysLock) {....raises: [], tags: [],
forbids: [].} - Source Edit