Linux |
CentOS 4.8 |
|
munlock(2) |
munlock − Revalider la pagination d’une portion de mémoire. |
#include <sys/mman.h> int munlock(const void *addr, size_t len); |
munlock revalide la pagination (paging) pour la zone de mémoire commençant à l’adresse addr et s’étendant sur len octets. Toutes les pages contenant des octets de cette zone peuvent être à nouveau déplacées par le noyau sur le support de swap après l’appel de munlock. Il n’y a pas d’empilement des verrouillages mémoire, ce qui signifie qu’une page verrouillée plusieurs fois par mlock ou mlockall sera libérée en un seul appel à munlock pour la zone mémoire correspondante ou par un appel à munlockall. Les pages qui sont verrouillées par plusieurs zones, ou par plusieurs processus restent en mémoire vive tant qu’il y a au moins un processus ou une zone qui les verrouillent. Sur les systèmes POSIX où mlock et munlock sont disponibles, la constante symbolique _POSIX_MEMLOCK_RANGE est définie dans <unistd.h> et la valeur symbolique PAGESIZE de <limits.h> indique le nombre d’octets par page. |
munlock renvoie 0 si il réussit, ou −1 s’il échoue, auquel cas errno contient le code d’erreur. |
ENOMEM |
La zone ne correspond pas à des pages contenues dans l’espace d’adressage du processus. |
||
EINVAL |
len n’est pas un nombre positif |
POSIX.1b, SVr4 |
mlock(2), mlockall(2), et munlockall(2). |
Christophe Blaess, 1997. |
munlock(2) |