Skip to content

brummett/IPC-FSLock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Lock dir structure

symlink--------> readers/  r1
                           r2
                           r3
                  writer1/
                  writer2/

Aquire lock:

do {
    redo unless mkdir $lock_dir
    if(readlock) {
        redo unless create reader_file
}
while(1) {
    return 1 if symlink
    if (readlock) {
        my $points_to = readlink
        return 1 if $points_to =~ m/readers/
    }
    sleep
}

Give up lock:

if (readlock) {
   unlink reader_file
}
$rv = rmdir lock_dir
if ($rv) {
    unlink symlink
}
return 1
    

About

Perl module to implement shared+exclusive locks using the filesystem for IPC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages