mirror of https://github.com/mkerrisk/man-pages
139 lines
4.9 KiB
Plaintext
139 lines
4.9 KiB
Plaintext
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
|
.TH "MLOCKALL" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
|
.\" mlockall
|
|
.SH PROLOG
|
|
This manual page is part of the POSIX Programmer's Manual.
|
|
The Linux implementation of this interface may differ (consult
|
|
the corresponding Linux manual page for details of Linux behavior),
|
|
or the interface may not be implemented on Linux.
|
|
.SH NAME
|
|
mlockall, munlockall \- lock/unlock the address space of a process
|
|
(\fBREALTIME\fP)
|
|
.SH SYNOPSIS
|
|
.LP
|
|
\fB#include <sys/mman.h>
|
|
.br
|
|
.sp
|
|
int mlockall(int\fP \fIflags\fP\fB);
|
|
.br
|
|
int munlockall(void); \fP
|
|
\fB
|
|
.br
|
|
\fP
|
|
.SH DESCRIPTION
|
|
.LP
|
|
The \fImlockall\fP() function shall cause all of the pages mapped
|
|
by the address space of a process to be memory-resident until
|
|
unlocked or until the process exits or \fIexec\fPs another process
|
|
image. The \fIflags\fP
|
|
argument determines whether the pages to be locked are those currently
|
|
mapped by the address space of the process, those that are
|
|
mapped in the future, or both. The \fIflags\fP argument is constructed
|
|
from the bitwise-inclusive OR of one or more of the
|
|
following symbolic constants, defined in \fI<sys/mman.h>\fP:
|
|
.TP 7
|
|
MCL_CURRENT
|
|
Lock all of the pages currently mapped into the address space of the
|
|
process.
|
|
.TP 7
|
|
MCL_FUTURE
|
|
Lock all of the pages that become mapped into the address space of
|
|
the process in the future, when those mappings are
|
|
established.
|
|
.sp
|
|
.LP
|
|
If MCL_FUTURE is specified, and the automatic locking of future mappings
|
|
eventually causes the amount of locked memory to exceed
|
|
the amount of available physical memory or any other implementation-defined
|
|
limit, the behavior is implementation-defined. The
|
|
manner in which the implementation informs the application of these
|
|
situations is also implementation-defined.
|
|
.LP
|
|
The \fImunlockall\fP() function shall unlock all currently mapped
|
|
pages of the address space of the process. Any pages that
|
|
become mapped into the address space of the process after a call to
|
|
\fImunlockall\fP() shall not be locked, unless there is an
|
|
intervening call to \fImlockall\fP() specifying MCL_FUTURE or a subsequent
|
|
call to \fImlockall\fP() specifying MCL_CURRENT. If
|
|
pages mapped into the address space of the process are also mapped
|
|
into the address spaces of other processes and are locked by
|
|
those processes, the locks established by the other processes shall
|
|
be unaffected by a call by this process to
|
|
\fImunlockall\fP().
|
|
.LP
|
|
Upon successful return from the \fImlockall\fP() function that specifies
|
|
MCL_CURRENT, all currently mapped pages of the
|
|
process' address space shall be memory-resident and locked. Upon return
|
|
from the \fImunlockall\fP() function, all currently mapped
|
|
pages of the process' address space shall be unlocked with respect
|
|
to the process' address space. The memory residency of unlocked
|
|
pages is unspecified.
|
|
.LP
|
|
The appropriate privilege is required to lock process memory with
|
|
\fImlockall\fP().
|
|
.SH RETURN VALUE
|
|
.LP
|
|
Upon successful completion, the \fImlockall\fP() function shall return
|
|
a value of zero. Otherwise, no additional memory shall
|
|
be locked, and the function shall return a value of -1 and set \fIerrno\fP
|
|
to indicate the error. The effect of failure of
|
|
\fImlockall\fP() on previously existing locks in the address space
|
|
is unspecified.
|
|
.LP
|
|
If it is supported by the implementation, the \fImunlockall\fP() function
|
|
shall always return a value of zero. Otherwise, the
|
|
function shall return a value of -1 and set \fIerrno\fP to indicate
|
|
the error.
|
|
.SH ERRORS
|
|
.LP
|
|
The \fImlockall\fP() function shall fail if:
|
|
.TP 7
|
|
.B EAGAIN
|
|
Some or all of the memory identified by the operation could not be
|
|
locked when the call was made.
|
|
.TP 7
|
|
.B EINVAL
|
|
The \fIflags\fP argument is zero, or includes unimplemented flags.
|
|
.sp
|
|
.LP
|
|
The \fImlockall\fP() function may fail if:
|
|
.TP 7
|
|
.B ENOMEM
|
|
Locking all of the pages currently mapped into the address space of
|
|
the process would exceed an implementation-defined limit on
|
|
the amount of memory that the process may lock.
|
|
.TP 7
|
|
.B EPERM
|
|
The calling process does not have the appropriate privilege to perform
|
|
the requested operation.
|
|
.sp
|
|
.LP
|
|
\fIThe following sections are informative.\fP
|
|
.SH EXAMPLES
|
|
.LP
|
|
None.
|
|
.SH APPLICATION USAGE
|
|
.LP
|
|
None.
|
|
.SH RATIONALE
|
|
.LP
|
|
None.
|
|
.SH FUTURE DIRECTIONS
|
|
.LP
|
|
None.
|
|
.SH SEE ALSO
|
|
.LP
|
|
\fIexec\fP(), \fIexit\fP(), \fIfork\fP(), \fImlock\fP(), \fImunmap\fP(),
|
|
the Base
|
|
Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<sys/mman.h>\fP
|
|
.SH COPYRIGHT
|
|
Portions of this text are reprinted and reproduced in electronic form
|
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
|
event of any discrepancy between this version and the original IEEE and
|
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
|
is the referee document. The original Standard can be obtained online at
|
|
http://www.opengroup.org/unix/online.html .
|