sem_get

sem_get -- Liefert ein Semaphore-Handle

Beschreibung

int sem_get ( int key [, int max_acquire [, int perm]])

Diese Funktion liefert ein Handle , das für den Zugriff auf das Semaphore mit der Kennung key benutzt werden kann .

Falls noch kein Semaphore mit dieser Kennung existiert , so wird es neu angelegt . Die maximale Anzahl der gleichzeitig möglichen Anforderungen und die Zugriffsrechte werden dabei über die Parameter max_aquire und sem_get( ) festgelegt .

Wird der angeforderte Semaphore zum Zeitpunkt des Aufrufs von keiner anderen Funktion genutzt , so kann über den optionalen Parameter max_aquire die Anzahl der gelichzeitig möglichen Anforderungen neu festgelegt werden , anderenfalls bleibt der ursprüngliche Wert erhalten .

Ein zweiter Aufruf der Funktion mit demselben key liefert ein weiteres , von dem ersten verschiedenes , Handle , das aber trotzdem denselben darunterliegenden Semaphore anspricht .

Wenn kein Semaphore mit der Kennung key angelegt werden kann oder die Rechte für den Zugriff auf einen bestehendennicht ausreichen , so ist das Ergebnis dieser Funktion der Wert FALSE .

Siehe auch sem_acquire( ) und sem_release( ) .