Semctl - Semaphore Control Operations
The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group
Synopsis
#include <sys/sem.h>
int semctl(int semid, int semnum, int cmd, ...);
Description
La funzione semctl() fornisce una varietà di operazioni di controllo sui semafori come specificato da cmd. Il quarto argomento è opzionale e dipende dall'operazione richiesta. Se richiesto, è di tipo che il programma applicativo deve dichiarare esplicitamente:
union semun {
int val;
struct semid_ds *buf;
unsigned short *array;
} arg;
Le seguenti operazioni di controllo sui semafori, come specificato da cmd, vengono eseguite con riferimento al semaforo specificato da semid e semnum. Il livello di autorizzazione richiesto per ciascun valore di cmd è mostrato con ogni comando, vedi il file di intestazione <sys/sem.h>:
- GETVAL: Restituisce il valore di semval, vedi
<sys/sem.h>. Richiede permesso di lettura. - SETVAL: Imposta il valore di semval su
arg.val, doveargè il valore del quarto argomento per semctl(). Quando questo comando viene eseguito correttamente, il valore semadj corrispondente al semaforo specificato in tutti i processi viene cancellato. Richiede permesso di modifica, vedi IPC. - GETPID: Restituisce il valore di sempid. Richiede permesso di lettura.
- GETNCNT: Restituisce il valore di semncnt. Richiede permesso di lettura.
- GETZCNT: Restituisce il valore di semzcnt. Richiede permesso di lettura.
I seguenti valori di cmd operano su ciascun semval nel set di semafori:
- GETALL: Restituisce il valore di semval per ciascun semaforo nel set e lo posiziona nell'array puntato da
arg.array, doveargè il quarto argomento per semctl(). Richiede permesso di lettura. - SETALL: Imposta il valore di semval per ciascun semaforo nel set secondo l'array.
-
Sistemi operativi - Syscall fork
-
Sistemi operativi - Syscall fprintf
-
Sistemi operativi - Syscall memcpy
-
Sistemi operativi - Syscall msgsnd