#
sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
-### sub _simple_lock ###########################################################
+### _simple_lock () ############################################################
#
# simple file lock
# (create lock file)
return;
}
-### sub _simple_unlock #########################################################
+### _simple_unlock () ##########################################################
#
# simple file unlock
# (unlink lock file)
return;
}
-### sub _reftime ###############################################################
+### _reftime () ################################################################
#
# determine reference time for violent unlock
#
$time;
}
-### sub masterlocked ###########################################################
+### masterlocked () ############################################################
#
# check on master lock status of the file
#
#
sub masterlocked {-f shift -> masterlock}
-### sub excl_announced #########################################################
+### excl_announced () ##########################################################
#
# check on exclusive lock announced status of the file
#
#
sub excl_announced {-f shift -> lockfile}
-### sub exsh_announced #########################################################
+### exsh_announced () ##########################################################
#
# check on exclusive shared lock status of the file
#
#
sub exsh_announced {-f shift -> exshlock}
+### purge () ###################################################################
+#
+# cover our traces after a file was removed
+#
+# Params: ~none~
+#
+# Return: ~none~
+#
+sub purge {
+ shift -> release;
+}
+
# keep 'require' happy
1;
#
sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
-### sub _simple_lock ###########################################################
+### _simple_lock () ############################################################
#
# simple file lock
# (create lock file)
return;
}
-### sub _simple_unlock #########################################################
+### _simple_unlock () ##########################################################
#
# simple file unlock
# (unlink lock file)
return;
}
-### sub _reftime ###############################################################
+### _reftime () ################################################################
#
# determine reference time for violent unlock
#
$time;
}
-### sub masterlocked ###########################################################
+### masterlocked () ############################################################
#
# check on master lock status of the file
#
#
sub masterlocked {-l shift -> masterlock}
-### sub excl_announced #########################################################
+### excl_announced () ##########################################################
#
# check on exclusive lock announced status of the file
#
#
sub excl_announced {-l shift -> lockfile}
-### sub exsh_announced #########################################################
+### exsh_announced () ##########################################################
#
# check on exclusive shared lock status of the file
#
#
sub exsh_announced {-l shift -> exshlock}
+### purge () ###################################################################
+#
+# cover our traces after a file was removed
+#
+# Params: ~none~
+#
+# Return: ~none~
+#
+sub purge {
+ shift -> release;
+}
+
# keep 'require' happy
1;
#
sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
-### sub _simple_lock ###########################################################
+### _simple_lock () ############################################################
#
# simple file lock
# (unlink lock file)
return;
}
-### sub _simple_unlock #########################################################
+### _simple_unlock () ##########################################################
#
# simple file unlock
# (create lock file)
return;
}
-### sub _reftime ###############################################################
+### _reftime () ################################################################
#
# determine reference time for violent unlock
#
$time;
}
-### sub masterlocked ###########################################################
+### masterlocked () ############################################################
#
# check on master lock status of the file
#
#
sub masterlocked {not -f shift -> masterlock}
-### sub excl_announced #########################################################
+### excl_announced () ##########################################################
#
# check on exclusive lock announced status of the file
#
#
sub excl_announced {not -f shift -> lockfile}
-### sub exsh_announced #########################################################
+### exsh_announced () ##########################################################
#
# check on exclusive shared lock status of the file
#
#
sub exsh_announced {not -f shift -> exshlock}
+### purge () ###################################################################
+#
+# cover our traces after a file was removed
+#
+# Params: ~none~
+#
+# Return: ~none~
+#
+sub purge {
+ my $self = shift;
+
+ $self -> set_ref (0); # reference counter = 0
+ unlink ($self -> reflock); # remove reference counter lock
+ unlink ($self -> lockfile); # remove any write lock announce
+ unlink ($self -> exshlock); # remove any excl shared lock
+ unlink ($self -> masterlock); # remove master lock
+
+ return;
+}
+
# keep 'require' happy
1;