Daemon: do not wait for lock on restart

This commit is contained in:
Dietmar Maurer 2014-12-31 17:01:51 +01:00
parent c56111950d
commit 48876459cb

View File

@ -65,12 +65,15 @@ my $lockpidfile = sub {
my $lkfn = $self->{pidfile} . ".lock"; my $lkfn = $self->{pidfile} . ".lock";
my $waittime = 0;
if (my $fd = $self->{env_pve_lock_fd}) { if (my $fd = $self->{env_pve_lock_fd}) {
$self->{daemon_lock_fh} = IO::Handle->new_from_fd($fd, "a"); $self->{daemon_lock_fh} = IO::Handle->new_from_fd($fd, "a");
} else { } else {
$waittime = 5;
$self->{daemon_lock_fh} = IO::File->new(">>$lkfn"); $self->{daemon_lock_fh} = IO::File->new(">>$lkfn");
} }
@ -78,7 +81,7 @@ my $lockpidfile = sub {
die "can't open lock '$lkfn' - $!\n"; die "can't open lock '$lkfn' - $!\n";
} }
for (my $i = 0; $i < 5; $i ++) { for (my $i = 0; $i < $waittime; $i ++) {
return if flock ($self->{daemon_lock_fh}, LOCK_EX|LOCK_NB); return if flock ($self->{daemon_lock_fh}, LOCK_EX|LOCK_NB);
sleep(1); sleep(1);
} }