[PATCH] Always base lock fail name on master database
From: Joachim Breitner <mail@joachim-breitner.de>
and never on the transactional copy. Factors out database lock filename
into a function of its own.
---
bin/wanna-build | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/bin/wanna-build b/bin/wanna-build
index 0762a23..64adfaf 100755
--- a/bin/wanna-build
+++ b/bin/wanna-build
@@ -1969,7 +1969,7 @@ sub forget_users {
sub lock_db {
my $dist = shift;
my $try = 0;
- my $lockfile = db_filename($dist) . ".lock";
+ my $lockfile = db_lockfilename($dist);
local( *F );
print "Locking $dist database\n" if $verbose >= 2;
@@ -2014,7 +2014,7 @@ sub lock_db {
sub unlock_db {
my $dist = shift;
- my $lockfile = db_filename($dist) . ".lock";
+ my $lockfile = db_lockfilename($dist);
if (!$main::keep_lock{$dist}) {
print "Unlocking $dist database\n" if $verbose >= 2;
@@ -2023,7 +2023,7 @@ sub unlock_db {
}
sub create_maintlock {
- my $lockfile = db_filename("maintenance") . ".lock";
+ my $lockfile = db_lockfilename("maintenance");
my $try = 0;
local( *F );
@@ -2062,14 +2062,14 @@ sub create_maintlock {
}
sub remove_maintlock {
- my $lockfile = db_filename("maintenance") . ".lock";
+ my $lockfile = db_lockfilename("maintenance");
print "Removing maintenance lock\n" if $verbose >= 2;
unlink $lockfile;
}
sub waitfor_maintlock {
- my $lockfile = db_filename("maintenance") . ".lock";
+ my $lockfile = db_lockfilename("maintenance");
my $try = 0;
local( *F );
@@ -2321,6 +2321,11 @@ sub db_filename_transaction {
return "$conf::basedir/$conf::dbbase-$dist-transaction";
}
+sub db_lockfilename {
+ my $dist = shift;
+ return db_filename_master($dist) . ".lock";
+}
+
sub db_transactlog {
my $dist = shift;
--
1.6.3.3
Reply to: