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.