shmctl

Prototypes

int shmctl(int NumeroMemoirePartagee, int Commande, void *Parametres);

Description

Supprime la zone de mémoire partagée identifiée par NumeroMemoirePartagee via la commande Commande.

Exemple

#include <stdio.h>
#include <sys/shm.h>

int NumeroMemoirePartagee;
void *AdresseMemoirePartagee;

MemoirePartagee=shmget((key_t)12345, 1, 0666|IPC_CREAT|IPC_EXCL);
if (!MemoirePartagee)
...
AdresseMemoirePartagee=(void *)shmat(NumeroMemoirePartagee, NULL, 0);
if (!AdresseMemoirePartagee)
...
if (shmdt((char *)AdresseMemoirePartagee)==-1) if (shmctl(NumeroMemoirePartagee, IPC_RMID, NULL)==-1) ...

Avertissement

Bien s'assurer que NumeroMemoirePartagee est valide.

Le résultat est -1 en cas d'erreur.

Voir aussi

shmget pour allouer une zone de mémoire partagée. shmat pour retrouver l'adresse d'une zone de mémoire partagée déjà existante. shmdt pour libérer l'adresse d'une zone de mémoire partagée déjà existante.