Skip to content
Syscall BSD#275

svc · unix #275

sem_init

Point d'entrée POSIX pour les sémaphores anonymes ; explicitement non supporté sur Darwin.

Prototype

int sem_init(sem_t *sem, int phsared, u_int value);

Retour: int

Arguments

NameTypeDirDescription
semsem_t-
phsaredint-
valueu_int-

Historique des versions

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard275
xnu-1699.24.8macOS 10.7 Lion275
xnu-2050.18.24macOS 10.8 Mountain Lion275
xnu-2422.115.4macOS 10.9 Mavericks275
xnu-1486.2.11275
xnu-1504.15.3275
xnu-1504.3.12275
xnu-1504.7.4275
xnu-1504.9.17275
xnu-1504.9.26275
xnu-1504.9.37275
xnu-1699.22.73275
xnu-1699.22.81275
xnu-1699.24.23275
xnu-1699.26.8275
xnu-1699.32.7275
xnu-2050.22.13275
xnu-2050.24.15275
xnu-2050.48.11275
xnu-2050.7.9275
xnu-2050.9.2275
xnu-2422.1.72275
xnu-2422.100.13275
xnu-2422.110.17275
xnu-2422.90.20275

Notes

sem_init(3) est présent dans <semaphore.h> pour compatibilité source mais l'implémentation pose errno à ENOSYS et retourne -1. Le code multi-plateforme doit basculer sur sem_open(3) (nommé), dispatch_semaphore_create() ou une primitive à base de pthread_cond_t sur macOS.

API associées

sem_opensem_destroydispatch_semaphore_createpthread_cond_init