From a466ec6b00525ca85c6a8c40e5497f567cfa1f77 Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Fri, 27 Jul 2001 15:26:38 +0000 Subject: [PATCH] added purge method --- selfforum-cgi/shared/Lock/Exclusive.pm | 24 ++++++++++++++----- selfforum-cgi/shared/Lock/Symlink.pm | 24 ++++++++++++++----- selfforum-cgi/shared/Lock/Unlink.pm | 32 +++++++++++++++++++++----- 3 files changed, 62 insertions(+), 18 deletions(-) diff --git a/selfforum-cgi/shared/Lock/Exclusive.pm b/selfforum-cgi/shared/Lock/Exclusive.pm index fbcf38d..009a469 100644 --- a/selfforum-cgi/shared/Lock/Exclusive.pm +++ b/selfforum-cgi/shared/Lock/Exclusive.pm @@ -24,7 +24,7 @@ use Fcntl; # sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'} -### sub _simple_lock ########################################################### +### _simple_lock () ############################################################ # # simple file lock # (create lock file) @@ -44,7 +44,7 @@ sub _simple_lock { return; } -### sub _simple_unlock ######################################################### +### _simple_unlock () ########################################################## # # simple file unlock # (unlink lock file) @@ -64,7 +64,7 @@ sub _simple_unlock { return; } -### sub _reftime ############################################################### +### _reftime () ################################################################ # # determine reference time for violent unlock # @@ -85,7 +85,7 @@ sub _reftime { $time; } -### sub masterlocked ########################################################### +### masterlocked () ############################################################ # # check on master lock status of the file # @@ -95,7 +95,7 @@ sub _reftime { # sub masterlocked {-f shift -> masterlock} -### sub excl_announced ######################################################### +### excl_announced () ########################################################## # # check on exclusive lock announced status of the file # @@ -105,7 +105,7 @@ sub masterlocked {-f shift -> masterlock} # sub excl_announced {-f shift -> lockfile} -### sub exsh_announced ######################################################### +### exsh_announced () ########################################################## # # check on exclusive shared lock status of the file # @@ -115,6 +115,18 @@ sub excl_announced {-f shift -> lockfile} # 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; diff --git a/selfforum-cgi/shared/Lock/Symlink.pm b/selfforum-cgi/shared/Lock/Symlink.pm index dfe8fd1..736cb7e 100644 --- a/selfforum-cgi/shared/Lock/Symlink.pm +++ b/selfforum-cgi/shared/Lock/Symlink.pm @@ -24,7 +24,7 @@ use Fcntl; # sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'} -### sub _simple_lock ########################################################### +### _simple_lock () ############################################################ # # simple file lock # (create lock file) @@ -42,7 +42,7 @@ sub _simple_lock { return; } -### sub _simple_unlock ######################################################### +### _simple_unlock () ########################################################## # # simple file unlock # (unlink lock file) @@ -62,7 +62,7 @@ sub _simple_unlock { return; } -### sub _reftime ############################################################### +### _reftime () ################################################################ # # determine reference time for violent unlock # @@ -83,7 +83,7 @@ sub _reftime { $time; } -### sub masterlocked ########################################################### +### masterlocked () ############################################################ # # check on master lock status of the file # @@ -93,7 +93,7 @@ sub _reftime { # sub masterlocked {-l shift -> masterlock} -### sub excl_announced ######################################################### +### excl_announced () ########################################################## # # check on exclusive lock announced status of the file # @@ -103,7 +103,7 @@ sub masterlocked {-l shift -> masterlock} # sub excl_announced {-l shift -> lockfile} -### sub exsh_announced ######################################################### +### exsh_announced () ########################################################## # # check on exclusive shared lock status of the file # @@ -113,6 +113,18 @@ sub excl_announced {-l shift -> lockfile} # 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; diff --git a/selfforum-cgi/shared/Lock/Unlink.pm b/selfforum-cgi/shared/Lock/Unlink.pm index b4770f3..0042ff7 100644 --- a/selfforum-cgi/shared/Lock/Unlink.pm +++ b/selfforum-cgi/shared/Lock/Unlink.pm @@ -24,7 +24,7 @@ use Fcntl; # sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'} -### sub _simple_lock ########################################################### +### _simple_lock () ############################################################ # # simple file lock # (unlink lock file) @@ -42,7 +42,7 @@ sub _simple_lock { return; } -### sub _simple_unlock ######################################################### +### _simple_unlock () ########################################################## # # simple file unlock # (create lock file) @@ -65,7 +65,7 @@ sub _simple_unlock { return; } -### sub _reftime ############################################################### +### _reftime () ################################################################ # # determine reference time for violent unlock # @@ -86,7 +86,7 @@ sub _reftime { $time; } -### sub masterlocked ########################################################### +### masterlocked () ############################################################ # # check on master lock status of the file # @@ -96,7 +96,7 @@ sub _reftime { # sub masterlocked {not -f shift -> masterlock} -### sub excl_announced ######################################################### +### excl_announced () ########################################################## # # check on exclusive lock announced status of the file # @@ -106,7 +106,7 @@ sub masterlocked {not -f shift -> masterlock} # sub excl_announced {not -f shift -> lockfile} -### sub exsh_announced ######################################################### +### exsh_announced () ########################################################## # # check on exclusive shared lock status of the file # @@ -116,6 +116,26 @@ sub excl_announced {not -f shift -> lockfile} # 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; -- 2.34.1