Idris2Doc : System.Posix.Pthreads.Prim

System.Posix.Pthreads.Prim

(source)

Reexports

import public Data.C.Ptr
import public System.Posix.Errno
import public System.Posix.Pthreads.Struct
import public System.Posix.Pthreads.Types

Definitions

pthreadSelf : PrimIO PthreadT
  Returns the thread ID of the current thread.

Totality: total
Visibility: export
pthreadJoin : PthreadT -> EPrim ()
  Blocks the current thread and waits for the given thread to terminate.

Totality: total
Visibility: export
mkmutex : MutexType -> EPrim MutexT
  Allocates and initializes a new mutex of the given type.

This must be freed with `destroyMutex`.

Totality: total
Visibility: export
destroyMutex : MutexT -> PrimIO ()
  Destroys a mutex and frees the memory allocated for it.

Totality: total
Visibility: export
lockMutex : MutexT -> EPrim ()
  Tries to lock the given mutex, blocking the calling thread
in case it is already locked.

Totality: total
Visibility: export
timedlockMutex : MutexT -> Clock Duration -> EPrim Bool
  Like `lockMutex` but returns a boolean with `False` indicating
that the lock timed out

Totality: total
Visibility: export
trylockMutex : MutexT -> EPrim Bool
  Like `lockMutex` but returns `False` in case the mutex is
already locked.

Totality: total
Visibility: export
unlockMutex : MutexT -> EPrim ()
  Unlocks the given mutex.

This is an error if the calling thread is not the one holding
the mutex's lock.

Totality: total
Visibility: export
mkcond : EPrim CondT
  Allocates and initializes a new condition variable.

This must be freed with `destroyCond`.

Totality: total
Visibility: export
destroyCond : CondT -> PrimIO ()
  Destroys a condition variable and frees the memory allocated for it.

Totality: total
Visibility: export
condSignal : CondT -> EPrim ()
  Signals the given `pthread_cond_t`.

If several threads are waiting on the condition, it is unspecified
which of them will be signalled. We are only guaranteed that at least
of them will be woken up.

Totality: total
Visibility: export
condBroadcast : CondT -> EPrim ()
  Broadcasts the given `pthread_cond_t`.

This will wake up all threads waiting on the given condition.

Totality: total
Visibility: export
condWait : CondT -> MutexT -> EPrim ()
  Blocks the given thread and waits for the given condition to
be signalled.

Note: The mutex must have been locked by the calling thread. The
lock is automatically released upon calling `condWait`, and when
the thread is woken up, the mutex will automatically be locked again.

Totality: total
Visibility: export
condTimedwait : CondT -> MutexT -> Clock UTC -> EPrim Bool
  Like `condWait` but will return `False` in case the operation timed out.

Totality: total
Visibility: export
pthreadCancel : PthreadT -> EPrim ()
  Sends a cancelation request to the given thread.

Totality: total
Visibility: export
pthreadTestCancel : PrimIO ()
  Tests for thread cancelation in the absence of other cancelation
points.
setCancelType : CancelType -> PrimIO CancelType
  Sets the current thread's cancel type returning the previous cancel type.

Totality: total
Visibility: export
setCancelState : CancelState -> PrimIO CancelState
  Sets the current thread's cancel state returning the previous cancel state.

Totality: total
Visibility: export
pthreadSigmask_ : How -> SigsetT -> PrimIO SigsetT
  Adjust the thread's signal mask according to the given `How`
and signal set.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.
See also `pthreadSigmask'` for a version that does not return
the previous signal mask.

Totality: total
Visibility: export
pthreadSiggetmask : PrimIO SigsetT
  Returns the current signal mask of the thread.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.

Totality: total
Visibility: export
pthreadKill : PthreadT -> Signal -> EPrim ()
  Sends the given signal to the given thread.

Totality: total
Visibility: export
pthreadSigmask : How -> List Signal -> EPrim ()
  Like `pthreadSigmask_` but does not allocate a pointer for the
previous `sigset_t`.

Totality: total
Visibility: export