Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The File::Flock perl module on CPAN
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
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 <firstname.lastname@example.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 <email@example.com>.