std/private/syslocks

Source   Edit  

Types

SysCond = SysCondObj
Source   Edit  
SysLock = SysLockObj
Source   Edit  
SysLockAttr {.importc: "pthread_mutexattr_t", pure, final, header: """#include <sys/types.h>
                          #include <pthread.h>""".} = object
  when defined(linux) and defined(amd64):
Source   Edit  

Vars

SysLockType_Reentrant {.importc: "PTHREAD_MUTEX_RECURSIVE",
                        header: "<pthread.h>".}: SysLockType
Source   Edit  

Procs

proc initSysLockAttr(a: var SysLockAttr) {.importc: "pthread_mutexattr_init",
    header: "<pthread.h>", noSideEffect, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc setSysLockType(a: var SysLockAttr; t: SysLockType) {.
    importc: "pthread_mutexattr_settype", header: "<pthread.h>", noSideEffect,
    ...raises: [], tags: [], forbids: [].}
Source   Edit  

Templates

template acquireSys(L: var SysLock)
Source   Edit  
template broadcastSysCond(cond: var SysCond)
Source   Edit  
template deinitSys(L: SysLock)
Source   Edit  
template deinitSysCond(cond: SysCond)
Source   Edit  
template initSysCond(cond: var SysCond; cond_attr: ptr SysCondAttr = nil)
Source   Edit  
template initSysLock(L: var SysLock; attr: ptr SysLockAttr = nil)
Source   Edit  
template releaseSys(L: var SysLock)
Source   Edit  
template signalSysCond(cond: var SysCond)
Source   Edit  
template tryAcquireSys(L: var SysLock): bool
Source   Edit  
template waitSysCond(cond: var SysCond; lock: var SysLock)
Source   Edit