name: POSIX Semaphores API
description: POSIX named and unnamed semaphore interfaces for process and thread synchronization.
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man7/sem_overview.7.html
baseURL: system://unix/semaphores
tags:
- Concurrency
- Ipc
- Semaphores
- Synchronization
properties:
- type: Documentation
url: https://man7.org/linux/man-pages/man7/sem_overview.7.html
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/sem_open.html
operations:
- name: sem_open
description: Open or create a named semaphore
parameters:
- name
- oflag
- mode
- value
returns: pointer to semaphore, SEM_FAILED on error
- name: sem_close
description: Close a named semaphore
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_unlink
description: Remove a named semaphore
parameters:
- name
returns: 0 on success, -1 on error
- name: sem_init
description: Initialize an unnamed semaphore
parameters:
- sem
- pshared
- value
returns: 0 on success, -1 on error
- name: sem_destroy
description: Destroy an unnamed semaphore
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_wait
description: Lock (decrement) a semaphore, blocking if value is zero
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_trywait
description: Try to lock a semaphore without blocking
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_timedwait
description: Lock a semaphore with a timeout
parameters:
- sem
- abs_timeout
returns: 0 on success, -1 on error
- name: sem_post
description: Unlock (increment) a semaphore
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_getvalue
description: Get the current value of a semaphore
parameters:
- sem
- sval
returns: 0 on success, -1 on error