Unix/Linux Go Back    

RedHat 9 (Linux i386) - man page for lockf (redhat section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

LOCKF(3)			    Linux Programmer's Manual				 LOCKF(3)

       lockf - apply, test or remove a POSIX lock on an open file

       #include <sys/file.h>

       int lockf(int fd, int cmd, off_t len);

       Apply, test or remove a POSIX lock on a section of an open file.  The file is specified by
       fd, a file descriptor open for writing, the action by cmd, and  the  section  consists  of
       byte  positions	pos..pos+len-1 if len is positive, and pos-len..pos-1 if len is negative,
       where pos is the current file position, and if len is zero, the section extends	from  the
       current	file  position to infinity, encompassing the present and future end-of-file posi-
       tions.  In all cases, the section may extend past current end-of-file.

       On Linux, this call is just an interface for fcntl(2).  (In general, the relation  between
       lockf and fcntl is unspecified.)

       Valid operations are given below:

       F_LOCK Set an exclusive lock on the specified section of the file.  If (part of) this sec-
	      tion is already locked, the call blocks until the previous lock  is  released.   If
	      this  section  overlaps an earlier locked section, both are merged.  File locks are
	      released as soon as the process holding the locks closes some file  descriptor  for
	      the file. A child process does not inherit these locks.

	      Same  as	F_LOCK but the call never blocks and returns an error instead if the file
	      is already locked.

	      Unlock the indicated section of the file.  This may cause a locked  section  to  be
	      split into two locked sections.

       F_TEST Test  the  lock:	return	0  if the specified section is unlocked or locked by this
	      process; return -1, set errno to EACCES, if another process holds a lock.

       On success, zero is returned.  On error, -1 is returned, and errno is set appropriately.

       EAGAIN The file is locked and F_TLOCK or F_TEST was specified, or the operation is prohib-
	      ited because the file has been memory-mapped by another process.

       EBADF  fd is not an open file descriptor.

	      The command was T_LOCK and this lock operation would cause a deadlock.

       EINVAL An invalid operation was specified in fd.

       ENOLCK Too many segment locks open, lock table is full.

       SYSV, POSIX 1003.1-2001

       fcntl(2), flock(2)
       There are also locks.txt and mandatory.txt in /usr/src/linux/Documentation.

Linux 2.0				    2002-04-22					 LOCKF(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 03:09 AM.