HPlogo HP-UX Reference Volume 3 of 5 > m

munlockall(2)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

munlockall() — unlock the entire virtual address space of a process

SYNOPSIS

#include <sys/mman.h>

int munlockall() ;

DESCRIPTION

The munlockall() system call allows the calling process to unlock any portions of its virtual address space that have previously been locked into memory with mlock() or mlockall(), including any portions locked due to the MCL_FUTURE option of mlockall(). Upon successful completion of the munlockall(), all pages within the process virtual address space are subject to routine paging and/or swapping and the MCL_FUTURE option will no longer be in effect for the process.

Regardless of how many times a process locks a page, a single munlockall() will unlock it. When memory is shared by multiple processes and mlocks are applied to the same physical page by multiple processes, a page remains locked until the last lock is removed from that page.

The effective user ID of the calling process must be a superuser or the user must be a member of a group that has the MLOCK privilege (see getprivgrp(2) and setprivgrp(1M)).

Although plock() and the mlock() family of functions may be used together in an application, each may affect the other in unexpected ways. This practice is not recommended.

RETURN VALUE

munlockall() returns the following values:

0

Successful completion.

-1

Failure. The requested operation is not performed. errno is set to indicate the error.

ERRORS

If munlockall() fails, errno is set to the following value:

[EPERM]

The effective user ID of the calling process is not a superuser and the user does not belong to a group that has the MLOCK privilege.

EXAMPLES

The following call to munlockall() unlocks the process virtual address space:

munlockall();

STANDARDS CONFORMANCE

munlockall(): POSIX Realtime Extensions, IEEE Std 1003.1b

© Hewlett-Packard Development Company, L.P.