unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 plock(2)							    plock(2)




 NAME
      plock() - lock process, text, data, stack, or shared library in memory

 SYNOPSIS
      #include <&lt&lt&lt;sys/lock.h>&gt&gt&gt;

      int plock(int op);

 DESCRIPTION
      The plock() system call allows the calling process to lock the text
      segment of the process (text lock), its data segment (data lock), or
      both its text and data segment (process lock) into memory.  Stack
      segments are also locked when data segments are locked.  Shared
      library text and shared library data segments (shlib lock) can also be
      locked.  Locked segments are immune to all routine swapping.  plock()
      also allows these segments to be unlocked.

      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)).

      op must be one of the following:

	   PROCLOCK	       Lock text and data segments into memory
			       (process lock)

	   TXTLOCK	       Lock text segment into memory (text lock)

	   DATLOCK	       Lock data segment into memory (data lock)

	   UNLOCK	       Remove locks

	   SHLIBLOCK	       Lock shared library text and shared library
			       data segments (shared library lock)

	   PROCSHLIBLOCK       Lock text, data and shared library text and
			       shared library data segments into memory
			       (process and shared library lock)

	   TXTSHLIBLOCK	       Lock text, shared library text and shared
			       library data segments into memory (text and
			       shared library lock)

	   DATSHLIBLOCK	       Lock data, shared library text and shared
			       library data segments into memory (data and
			       shared library lock)

	   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.




 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 plock(2)							    plock(2)




 RETURN VALUE
      plock() returns the following values:

	    0	Successful completion.
	   -1	Failure.  The requested operation is not performed.  errno
		is set to indicate the error.

 ERRORS
      If plock() fails, errno is set to one of the following values.

	   [EINVAL]	  op is equal to PROCLOCK and a process lock, a text
			  lock, or a data lock already exists on the calling
			  process.

	   [EINVAL]	  op is equal to TXTLOCK and a text lock or process
			  lock already exists on the calling process.

	   [EINVAL]	  op is equal to DATLOCK and a data lock, or process
			  lock already exists on the calling process.

	   [EINVAL]	  op is equal to UNLOCK and no type of lock exists
			  on the calling process.

	   [EINVAL]	  op is equal to SHLIBLOCK and there are no unlocked
			  shared library segments in the calling process.

	   [EINVAL]	  op is equal to PROCSHLIBLOCK and a process lock, a
			  text lock, or a data lock already exists on the
			  calling process.

	   [EINVAL]	  op is equal to TXTSHLIBLOCK and a text lock or
			  process lock already exists on the calling
			  process.

	   [EINVAL]	  op is equal to DATSHLIBLOCK and a data lock, or
			  process lock already exists on the calling
			  process.

	   [EINVAL]	  op is not equal to one of the values specified in
			  DESCRIPTION.

	   [EINVAL]	  plock() is not allowed in a [vfork,exec] window.
			  See vfork(2).

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

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




 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000






 plock(2)							    plock(2)




 EXAMPLES
      The following call to plock() locks the calling process in memory:

	   plock(PROCLOCK);

 SEE ALSO
      setprivgrp(1M), exec(2), exit(2), fork(2), getprivgrp(2), mlock(2),
      vfork(2).

 STANDARDS CONFORMANCE
      plock(): SVID2, SVID3, XPG2











































 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000