Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
mlock(2)		      System Calls Manual		      mlock(2)

NAME
       mlock() - lock a	segment	of the process virtual address space in	memory

SYNOPSIS
DESCRIPTION
       The  system  call  allows  the calling process to lock a	segment	of the
       process virtual address space into memory.  Any addressable segment  of
       the  process'  address space may	be locked.  Locked segments are	immune
       to all routine swapping.

       addr must be a valid address in	the  process  virtual  address	space.
       addr  + len must	also be	a valid	address	in the process virtual address
       space.

       Locks are applied at page boundaries that encompass the range from addr
       to  addr	+ len.	If any address within the range	is not valid, an error
       is returned and no locks	are applied.

       or can be used to unlock	 memory	 segments  (or	all  memory  segments)
       locked with

       Regardless  of  how many	times a	process	locks a	page, a	single or will
       unlock it.  An of a page	within a range specified in an call results in
       only the	range specified	in the being unlocked.

       When  memory  is	shared by multiple processes and mlocks	are applied to
       the same	physical page by multiple processes, a page remains locked un-
       til the last lock is removed from that page.

       Locks applied with are not inherited by a child process.

       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 get-
       privgrp(2) and setprivgrp(1M))

       Although	 and the family	of functions may be used together in an	appli-
       cation, each may	affect the other in unexpected ways.  This practice is
       not recommended.

RETURN VALUE
       returns the following values:

	      Successful completion.
	      Failure.
		     The  requested operation is not performed.	 is set	to in-
		     dicate the	error.

ERRORS
       If fails, is set	to one of the following	values:

	      [ENOMEM]	     One or more addresses in the specified  range  is
			     not valid within the process address space.

	      [EAGAIN]	     There is not enough lockable memory in the	system
			     to	satisfy	the locking request.

	      [EINVAL]	     The parameter was zero.

	      [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	privilege.

EXAMPLES
       The following call to locks the first 10	pages of the  calling  process
       in memory:

SEE ALSO
       setprivgrp(1M),	getprivgrp(2), mlockall(2), munlock(2),	munlockall(2),
       plock(2)

STANDARDS CONFORMANCE
								      mlock(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLES | SEE ALSO | STANDARDS CONFORMANCE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=mlock&sektion=2&manpath=HP-UX+11.22>

home | help