X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=src%2FPVE%2FDaemon.pm;h=ee3c67c4d4895fb6bcbae008946f7228263a619f;hp=d438d27012effdc546c839b927eeeefee116818d;hb=563661dd943e969e6df2b97e84043829032794fd;hpb=d0138dbaca6d745420693552e86683a2d001ac2a diff --git a/src/PVE/Daemon.pm b/src/PVE/Daemon.pm index d438d27..ee3c67c 100644 --- a/src/PVE/Daemon.pm +++ b/src/PVE/Daemon.pm @@ -146,11 +146,7 @@ my $start_workers = sub { return if $self->{terminate}; - my $count = 0; - foreach my $cpid (keys %{$self->{workers}}) { - $count++; - } - + my $count = scalar keys %{$self->{workers}}; my $need = $self->{max_workers} - $count; return if $need <= 0; @@ -196,15 +192,10 @@ my $terminate_server = sub { $self->{terminate} = 1; # set flag to avoid worker restart - if (!$self->{max_workers}) { - eval { $self->shutdown(); }; - warn $@ if $@; - return; - } - eval { $self->shutdown(); }; warn $@ if $@; + return if !$self->{max_workers}; # if we have no workers we're done here # if configured, leave children running on HUP return if $allow_open_children && $self->{leave_children_open_on_reload}; @@ -289,11 +280,7 @@ sub setup { if ($restart && $self->{max_workers}) { if (my $wpids = $ENV{PVE_DAEMON_WORKER_PIDS}) { - foreach my $pid (split(':', $wpids)) { - if ($pid =~ m/^(\d+)$/) { - $self->{old_workers}->{$1} = 1; - } - } + $self->{old_workers}->{$_} = 1 foreach (split(':', $wpids)); } } @@ -503,8 +490,7 @@ sub restart_daemon { } if ($self->{max_workers}) { - my @workers = keys %{$self->{workers}}; - push @workers, keys %{$self->{old_workers}}; + my @workers = (keys %{$self->{workers}}, keys %{$self->{old_workers}}); $ENV{PVE_DAEMON_WORKER_PIDS} = join(':', @workers); }