lockf man page on Raspbian

Man page or keyword search:  
man Server   8174 pages
apropos Keyword Search (all sections)
Output format
Raspbian logo
[printable version]

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

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

SYNOPSIS
       #include <unistd.h>

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

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       lockf():
	   _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 ||
	   _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

DESCRIPTION
       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 positions.  In all cases,  the  section  may	extend
       past current end-of-file.

       On  Linux,  lockf()  is	just  an interface on top of fcntl(2) locking.
       Many other systems  implement  lockf()  in  this	 way,  but  note  that
       POSIX.1-2001 leaves the relationship between lockf() and fcntl(2) locks
       unspecified.  A portable application should probably avoid mixing calls
       to these interfaces.

       Valid operations are given below:

       F_LOCK Set  an exclusive lock on the specified section of the file.  If
	      (part of) this section is already locked, the call blocks	 until
	      the previous lock is released.  If this section overlaps an ear‐
	      lier 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.

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

       F_ULOCK
	      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  EAGAIN  (EACCES
	      on some other systems), if another process holds a lock.

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

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

       EBADF  fd is not an open file descriptor.

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

CONFORMING TO
       SVr4, POSIX.1-2001.

SEE ALSO
       fcntl(2), flock(2)
       There are also locks.txt and mandatory-locking.txt in the kernel source
       directory Documentation/filesystems.  (On older	kernels,  these	 files
       are  directly  under  the Documentation/ directory, and mandatory-lock‐
       ing.txt is called mandatory.txt.)

COLOPHON
       This page is part of release 3.27 of the Linux  man-pages  project.   A
       description  of	the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.

GNU				  2010-09-20			      LOCKF(3)
[top]

List of man pages available for Raspbian

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net