Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Apropos / Subsearch:
optional field

plock(2)							     plock(2)


  plock	-  Locks a process' text and/or	data segments in memory


  #include <sys/lock.h>
  int plock(
	  int opr) ;


  opr	    Specifies one of the following operations:

	    PROCLOCK  Locks the	text and data segments into memory.

	    TXTLOCK   Locks the	text segment into memory.

	    DATLOCK   Locks the	data segment into memory.

	    UNLOCK    Removes locks.


  The plock() function locks or	unlocks	a process' text	segments, data seg-
  ments, or both in physical memory.  When locked, the physical	pages con-
  taining the text or data segment will	not be paged out.  It is an error to
  lock a segment that is already locked.

  The caller must have superuser privilege to use the plock() function.

  Note that memory acquired subsequent to a plock() function may or may	not
  be locked in memory, depending on the	specific acquisition method.  Memory
  acquired using the brk() function (or	the sbrk() function) is	locked if the
  data segment was locked.  Memory acquired via	the mmap() or vm_allocate()
  functions will not be	locked.


  Upon successful completion, a	value of 0 (zero) is returned to the calling
  process.  Otherwise, a value of -1 is	returned and  errno is set to indi-
  cate the error.


  If the plock() function fails, errno may be set to one of the	following

  [EPERM]   The	caller does not	have appropriate privilege.

  [EAGAIN]  There are insufficient resources to	perform	the operation.

  [EINVAL]  The	opr parameter is PROCLOCK, but the text	segment	or the data
	    segment is already locked.

  [EINVAL]  The	opr parameter is TXTLOCK, but the text segment is already

  [EINVAL]  The	opr parameter is DATLOCK, but the data segment is already

  [EINVAL]  The	opr parameter is UNLOCK, but neither the text segment nor the
	    data segment is locked.


  Functions: brk(2), mmap(2)