Sous-routine msem_remove

Objectif

Supprime un sémaphore.

Bibliothèque

Bibliothèque C standard (libc.a)

Syntaxe

#include <sys/mman.h>
int msem_remove ( Sem)
msemaphore *Sem;

Descriptif

La sous-routine Msem_remove supprime un sémaphore binaire. Toute utilisation ultérieure de la structure Msémaphore avant qu'elle ne soit à nouveau initialisée en appelant le sous-programme Init. Msem_init aura des résultats non définis.

La sous-routine Msem_remove entraîne également le renvoi d'un processus en attente dans la sous-routine Serr_mpoint sur le sémaphore supprimé avec une erreur.

Si la structure Msémaphore contient une valeur qui ne résulte pas d'un appel à la sous-routine Init. Msem_init , suivie d'une séquence d'appels (éventuellement vide) vers les sous-routines Serr_mpoint et Déverrouiller msem_unlock , le résultat n'est pas défini. L'adresse d'une structure Msémaphore est significative. Si la structure Msémaphore contient une valeur copiée à partir d'une structure Msémaphore à une adresse différente, le résultat n'est pas défini.

Paramètres

Article Descriptif
Sem Pointe vers une structure Msémaphore qui spécifie le sémaphore à supprimer.

Valeurs renvoyées

Lorsqu'elle aboutit, la sous-routine Msem_remove renvoie une valeur de 0. Sinon, il renvoie un -1 et définit la variable globale errno pour indiquer l'erreur.

Codes d'erreur

Si la sous-routine Msem_remove échoue, la variable globale Errno est définie sur la valeur suivante:

Article Descriptif
EINVAL Indique que le paramètre Sem pointe vers une structure Msémaphore qui spécifie un sémaphore qui a été supprimé.