@hackage semaphore-compat1.0.0

Cross-platform abstraction for system semaphores

semaphore-compat

semaphore-compat provides a cross-platform implementation of system semaphores that abstracts over the unix and Win32 libraries.

It supports:

  • Creating (createSemaphore, freshSemaphore), opening (openSemaphore) and closing (destroySemaphore) semaphores.
  • Waiting on a semaphore:
    • without blocking with tryWaitOnSemaphore,
    • blocking forever, with waitOnSemaphore,
    • blocking, in a separate thread and allowing interruption, with forkWaitOnSemaphoreInterruptible and interruptWaitOnSemaphore.
  • Releasing tokens to a semaphore (releaseSemaphore).
  • Querying the semaphore for its current value (getSemaphoreValue).