NAME
     File::Flock - file locking with flock

SYNOPSIS
     use File::Flock;

     lock($filename);

     lock($filename, 'shared');

     lock($filename, undef, 'nonblocking');

     lock($filename, 'shared', 'nonblocking');

     unlock($filename);

     lock_rename($oldfilename, $newfilename)

     my $lock = new File::Flock '/somefile';

     $lock->unlock();

     $lock->lock_rename('/new/file');

     forget_locks();

DESCRIPTION
    Lock files using the flock() call. If the file to be locked does not
    exist, then the file is created. If the file was created then it will be
    removed when it is unlocked assuming it's still an empty file.

    Locks can be created by new'ing a File::Flock object. Such locks are
    automatically removed when the object goes out of scope. The unlock()
    method may also be used.

    lock_rename() is used to tell File::Flock when a file has been renamed
    (and thus the internal locking data that is stored based on the filename
    should be moved to a new name). unlock() the new name rather than the
    original name.

    Locks are released on process exit when the process that created the
    lock exits. Subprocesses that exit do not remove locks. Use
    forget_locks() or POSIX::_exit() to prevent unlocking on process exit.

SEE ALSO
    See File::Flock::Subprocess for a variant that uses a subprocess to hold
    the locks so that the locks survive when the parent process forks. See
    File::Flock::Forking for a way to automatically choose between
    File::Flock and File::Flock::Subprocess.

LICENSE
    Copyright (C) 1996-2012 David Muir Sharnoff <cpan@dave.sharnoff.org>
    Copyright (C) 2013 Google, Inc. This module may be used/copied/etc on
    the same terms as Perl itself.

PACKAGERS
    File::Flock is packaged for Fedora by Emmanuel Seyman
    <emmanuel.seyman@club-internet.fr>.

