plock(2) plock(2) NAME plock - lock into memory or unlock process, text, or data C SYNOPSIS #include <sys/lock.h> int plock(int op); DESCRIPTION plock allows the calling process to lock into memory or unlock its text segment (text lock), its data segment (data lock), or both its text and data segments (process lock). Locked segments are immune to all routine swapping. The calling process must have the super-user privilege to use this call. plock does not lock down memory which has been mapped into the address space of a process via the mmap(2) system call (e.g., IRIX Arenas). These mmaped memory regions may be locked down using one of the following system calls: mpin(2), mlock(3C), mlockall(3C). plock does not lock down the stack of the calling process. The stack of a process can only be locked into memory with the mlockall(3C) system call. plock performs the function specified by op: 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. plock fails and does not perform the requested operation if one or more of the following are true: EPERM The calling process does not have the super-user privilege. 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 a process lock already exists on the calling process. EINVAL op is equal to DATLOCK and a data lock, or a process lock already exists on the calling process. EINVAL op is equal to UNLOCK and no lock exists on the calling process. EAGAIN Not enough memory. SEE ALSO intro(2), exec(2), exit(2), fork(2), getrlimit(2), mlock(3C), mlockall(3C), mpin(2), memcntl(2), shmctl(2), ulimit(2). DIAGNOSTICS Upon successful completion, a value of 0 is returned to the calling process. Otherwise, a value of -1 is returned and errno is set to indicate the error. WARNING The plock function and mlockall/munlockall pair provide similar functionality. Developers should choose the set that best suites their application and stick with it, as mixing the interfaces may result in unexpected behavior. Page 2