# std/private/syslocks

Theme:

- Manual
- Standard library
- Index
- Compiler docs
- Fusion docs
- devel, stable

Search:
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