From: Thomas Lamprecht Date: Thu, 20 Jan 2022 12:41:24 +0000 (+0100) Subject: lrm: run worker: avoid an indendation level X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=f613e426cedf0062b7465650ec85641cb58e6154;hp=a25a516ac6d5e605d9b147427d8f3d7519e36e5c;p=pve-ha-manager.git lrm: run worker: avoid an indendation level best viewed with the `-w` flag to ignore whitespace change itself Signed-off-by: Thomas Lamprecht --- diff --git a/src/PVE/HA/LRM.pm b/src/PVE/HA/LRM.pm index 29f89e2..207a1ae 100644 --- a/src/PVE/HA/LRM.pm +++ b/src/PVE/HA/LRM.pm @@ -556,51 +556,50 @@ sub run_workers { my $sc = $haenv->read_service_config(); while (($haenv->get_time() - $starttime) < 5) { - my $count = $self->check_active_workers(); + my $count = $self->check_active_workers(); foreach my $sid (sort keys %{$self->{workers}}) { last if $count >= $max_workers && $max_workers > 0; my $w = $self->{workers}->{$sid}; - if (!$w->{pid}) { - # only fork if we may else call exec_resource_agent - # directly (e.g. for regression tests) - if ($max_workers > 0) { - my $pid = fork(); - if (!defined($pid)) { - $haenv->log('err', "forking worker failed - $!"); - $count = 0; last; # abort, try later - } elsif ($pid == 0) { - $haenv->after_fork(); # cleanup - - # do work - my $res = -1; - eval { - $res = $self->exec_resource_agent($sid, $sc->{$sid}, $w->{state}, $w->{params}); - }; - if (my $err = $@) { - $haenv->log('err', $err); - POSIX::_exit(-1); - } - POSIX::_exit($res); - } else { - $count++; - $w->{pid} = $pid; - } - } else { + next if $w->{pid}; + + # only fork if we may, else call exec_resource_agent directly (e.g. for tests) + if ($max_workers > 0) { + my $pid = fork(); + if (!defined($pid)) { + $haenv->log('err', "forking worker failed - $!"); + $count = 0; last; # abort, try later + } elsif ($pid == 0) { + $haenv->after_fork(); # cleanup + + # do work my $res = -1; eval { $res = $self->exec_resource_agent($sid, $sc->{$sid}, $w->{state}, $w->{params}); - $res = $res << 8 if $res > 0; }; if (my $err = $@) { $haenv->log('err', $err); + POSIX::_exit(-1); } - if (defined($w->{uid})) { - $self->resource_command_finished($sid, $w->{uid}, $res); - } else { - $self->stop_command_finished($sid, $res); - } + POSIX::_exit($res); + } else { + $count++; + $w->{pid} = $pid; + } + } else { + my $res = -1; + eval { + $res = $self->exec_resource_agent($sid, $sc->{$sid}, $w->{state}, $w->{params}); + $res = $res << 8 if $res > 0; + }; + if (my $err = $@) { + $haenv->log('err', $err); + } + if (defined($w->{uid})) { + $self->resource_command_finished($sid, $w->{uid}, $res); + } else { + $self->stop_command_finished($sid, $res); } } }