Der Systemaufruf semget()


Prototyp:
int semget(long key, int count, int flag);

Effekt:
Der Systemaufruf semget erzeugt eine neue Gruppe von Semaphoren oder gibt Zugriff auf eine bereits existierende Gruppe.

Includes:
#include<sys/ipc.h>
#include<sys/sem.h>
#include<sys/types.h>

Parameter:

Rückgabe:
Interner Identifikator für die Semaphorgruppe, zur Verwendung in nachfolgenden Aufrufen von semctl() und semop(), oder -1 bei Fehler.

Beispiele:
int semid1,semid2, semid3, semid4; /* Identifikatoren für Gruppen von Semaphoren */

semid1 = semget(IPC_PRIVATE, 2, IPC_CREAT|0777);
/* erzeugt neue Gruppe von zwei Semaphoren mit sämtlichen Zugriffsrechten und weist den internen Schlüssel semid1 zu */

semid2 = semget(200, 3, IPC_CREAT|0777);
/* erzeugt unter den externen Schlüssel 200 eine Gruppe von drei Semaphoren mit sämtlichen Zugriffsrechten und weist den internen Schlüssel der Variablen semid2 zu */

semid3 = semget(200, 3, 0777);
/* ermittelt die unter dem externen Schlüssel 200 erzeugte Gruppe von drei Semaphoren und weist den internen Schlüssel der Variablen semid3 zu */

semid4 = semget(IPC_PRIVATE, 6, IPC_CREAT|0777);
/* erzeugt neue Gruppe von sechs Semaphoren mit sämtlichen Zugriffsrechten und weist den internen Schlüssel semid4 zu */

Wenn Sie die Prozesse in dem unteren Feld der Graphik mit der Maus anklicken, werden die Beispiele demonstriert.



FH-Köln hoch zurück weiter