The following module was proposed for inclusion in the Module List: modid: File::Lock::Any DSLIP: idpOp description: Portable advisory file locking userid: FANGLY (Florent Angly) chapterid: 10 (File_Names_Systems_Locking) communities: Git repository, CPAN
similar: File::SharedNFSLock, File::Lock::Multi rationale: Traditionally, advisory locks are implemented using the flock() function. However, it becomes more complicated to lock files on an NFS mount because only link() guarantees atomicity (see File::SharedNFSLock). Even then, the are corner cases that one would rather not have to think about (e.g. no link() available on FAT32 filesystems, which makes it impossible to properly lock a file on an NFS-mouted FAT32 filesystem). This module attempts to use the right locking method (C<flock> or C<link>), regardless of what operating system, filesystem type or mount method (NFS or not) you use. In practice, File::Lock::Any uses the File::SharedNFSLock backend (C<link>-based) for NFS-mounted filesystems or XXX (C<flock>-based) for non-NFS -mounted filesystems. Remember that the locking is advisory only: it is effective if you use this module throughout, but nothing prevents you from modifying the file. enteredby: FANGLY (Florent Angly) enteredon: Fri Dec 7 01:07:41 2012 GMT The resulting entry would be: File::Lock:: ::Any idpOp Portable advisory file locking FANGLY Thanks for registering, -- The PAUSE PS: The following links are only valid for module list maintainers: Registration form with editing capabilities: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=66c00000_72a12f2c19dfdc5a&SUBMIT_pause99_add_mod_preview=1 Immediate (one click) registration: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=66c00000_72a12f2c19dfdc5a&SUBMIT_pause99_add_mod_insertit=1 Peek at the current permissions: https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=File%3A%3ALock%3A%3AAny