Definition | #include <sys/sem.h> int semctl(int semid, int semnum, int cmd, ...); CRTE111A30 int semctl64(int semid, int semnum, int cmd, ...); (Ende) | |||||||||||||||||||||
Beschreibung |
Mit cmd werden die im Folgenden aufgeführten Semaphor-Steueroperationen angegeben, mit semid und semnum das Semaphor, für das die angegebene Operation ausgeführt werden soll. Die für die jeweilige Operation erforderlichen Zugriffsrechte werden bei den entsprechenden Kommandos angegeben (siehe auch Abschnittt "Interprozesskommunikation“). Der Typ des vierten Argumentes ist abhängig vom Wert von cmd. Die Funktion Die Struktur struct ipc_perm sem_perm; /* operation permission struct */ struct sem *sem_base; /* ptr to first semaphore in set */ ushort_t sem_nsems; /* # of semaphores in set */ time_t sem_otime; /* last semop time */ time_t sem_ctime; /* last change time */ Die Elemente der Struktur time64_t sem_otime; time64_t sem_ctime; Die symbolischen Namen für die Werte von cmd sind in der Include-Datei
Folgende Kommandos wirken auf jeden
Folgende Kommandos sind außerdem verfügbar:
| |||||||||||||||||||||
Returnwert | Bei Erfolg liefern | |||||||||||||||||||||
Wert von | ||||||||||||||||||||||
wenn für cmd | ||||||||||||||||||||||
Wert von | ||||||||||||||||||||||
wenn für cmd | ||||||||||||||||||||||
Wert von | ||||||||||||||||||||||
wenn für cmd | ||||||||||||||||||||||
Wert von | ||||||||||||||||||||||
wenn für cmd | ||||||||||||||||||||||
0 | wenn andere cmd-Werte angegeben wurden. | |||||||||||||||||||||
-1 | bei Fehler. | |||||||||||||||||||||
Fehler |
| |||||||||||||||||||||
|
| Der aufrufende Prozess hat für das auszuführende Kommando nicht die erforderliche Zugriffsrecht (sieh Abschnitt "Interprozesskommunikation“). | ||||||||||||||||||||
| Erweiterung | |||||||||||||||||||||
|
| msgp verweist auf eine unzulässige Adresse. (Ende) | ||||||||||||||||||||
|
| semid ist keine gültige Semaphorkennzahl, semnum hat einen Wert kleiner 0 oder größer | ||||||||||||||||||||
| cmd ist gleich | |||||||||||||||||||||
| cmd ist gleich | |||||||||||||||||||||
Erweiterung | ||||||||||||||||||||||
|
| cmd ist gleich | ||||||||||||||||||||
| ||||||||||||||||||||||
|
| POSIX-BC Korrekturstand < A47. | ||||||||||||||||||||
Hinweise | Das vierte Argument im Abschnitt „Syntax“ ist im XPG4 mit ... gekennzeichnet, um einen Widerspruch zum ISO C-Standard zu vermeiden. Der vierte Parameter kann vom Anwendungsprogrammierer wie folgt definiert werden: union semun { int val; struct semid_ds *buf; unsigned short *array; } arg; | |||||||||||||||||||||
Siehe auch | auch |