Module Name: src
Committed By: dholland
Date: Mon Feb 28 04:03:00 UTC 2011
Modified Files:
src/lib/libc/sys: mlock.2
Log Message:
Improve discussion of alignment and rounding per PR 33527.
To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/lib/libc/sys/mlock.2
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/sys/mlock.2
diff -u src/lib/libc/sys/mlock.2:1.18 src/lib/libc/sys/mlock.2:1.19
--- src/lib/libc/sys/mlock.2:1.18 Thu May 13 10:20:58 2004
+++ src/lib/libc/sys/mlock.2 Mon Feb 28 04:03:00 2011
@@ -1,4 +1,4 @@
-.\" $NetBSD: mlock.2,v 1.18 2004/05/13 10:20:58 wiz Exp $
+.\" $NetBSD: mlock.2,v 1.19 2011/02/28 04:03:00 dholland Exp $
.\"
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
@@ -59,14 +59,7 @@
call unlocks pages previously locked by one or more
.Nm mlock
calls.
-For both, the
-.Fa addr
-parameter should be aligned to a multiple of the page size.
-If the
-.Fa len
-parameter is not a multiple of the page size, it will be rounded up
-to be so.
-The entire range must be allocated.
+The entire range of memory must be allocated.
.Pp
After an
.Nm mlock
@@ -99,6 +92,14 @@
the per-process
.Li RLIMIT_MEMLOCK
resource limit.
+.Pp
+Portable code should ensure that the
+.Fa addr
+and
+.Fa len
+parameters are aligned to a multiple of the page size, even though the
+.Nx
+implementation will round as necessary.
.Sh RETURN VALUES
A return value of 0 indicates that the call
succeeded and all pages in the range have either been locked or unlocked.
@@ -112,7 +113,10 @@
will fail if:
.Bl -tag -width Er
.It Bq Er EINVAL
-The address given is not page aligned or the length is negative.
+The length is negative.
+.It Bq Er EINVAL
+The address or length given is not page aligned and the implementation
+does not round.
.It Bq Er EAGAIN
Locking the indicated range would exceed either the system or per-process
limit for locked memory.
@@ -129,7 +133,10 @@
will fail if:
.Bl -tag -width Er
.It Bq Er EINVAL
-The address given is not page aligned or the length is negative.
+The length is negative.
+.It Bq Er EINVAL
+The address or length given is not page aligned and the implementation
+does not round.
.It Bq Er ENOMEM
Some portion of the indicated address range is not allocated.
Some portion of the indicated address range is not locked.