David Muir Sharnoff > File-Flock > File::Flock::Subprocess

Download:
modules/File-Flock-2013.11.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  3
View/Report Bugs
Source  

NAME ^

 File::Flock::Subprocess - file locking with flock in a subprocess

SYNOPSIS ^

 use File::Flock::Subprocess;

 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 ^

This is a wrapper around File::Flock that starts a subprocess and does the lcoking in the subprocess with File::Flock. The purpose of this is to handle operating systems (eg: Solaris) that do not retain locks across a call to fork().

The sub-process for this is created with fork() when File::Flock::Subprocess is compiled. I've tried to minimize the side-effects calling fork() by doing calling it early and by using POSIX::_exit() to quit but it is still worth being aware of. I suggest loading File::Flock::Subprocess early.

Use File::Flock::Forking to automatically detect when this is needed.

Read the docs for File::Flock for details of the API.

ERRATA ^

Any errors reported by the locking proxy File::Flock::Subprocess starts will be reported as "Compilation Failed" errors because the proxy is started in a BEGIN{} block.

LICENSE ^

Copyright (C) 2013 Google, Inc. This module may be used/copied/etc on the same terms as Perl itself.

syntax highlighting: