Daemon: move ENV manipulation into new()

This commit is contained in:
Dietmar Maurer 2014-12-31 10:29:23 +01:00
parent eead1ad86a
commit a8ba2293d4

View File

@ -222,10 +222,6 @@ my $server_run = sub {
# run in background # run in background
my $spid; my $spid;
my $restart = $ENV{RESTART_PVE_DAEMON};
delete $ENV{RESTART_PVE_DAEMON};
$self->{debug} = 1 if $debug; $self->{debug} = 1 if $debug;
$self->init(); $self->init();
@ -235,7 +231,7 @@ my $server_run = sub {
open STDOUT, '>/dev/null' || die "can't write /dev/null"; open STDOUT, '>/dev/null' || die "can't write /dev/null";
} }
if (!$restart && !$debug) { if (!$self->{env_restart_pve_daemon} && !$debug) {
PVE::INotify::inotify_close(); PVE::INotify::inotify_close();
$spid = fork(); $spid = fork();
if (!defined ($spid)) { if (!defined ($spid)) {
@ -252,7 +248,7 @@ my $server_run = sub {
POSIX::setsid(); POSIX::setsid();
if ($restart) { if ($self->{env_restart_pve_daemon}) {
syslog('info' , "restarting server"); syslog('info' , "restarting server");
} else { } else {
syslog('info' , "starting server"); syslog('info' , "starting server");
@ -344,7 +340,11 @@ my $server_run = sub {
sub new { sub new {
my ($this, $name, $cmdline, %params) = @_; my ($this, $name, $cmdline, %params) = @_;
die "please run as root\n" if !$ENV{RESTART_PVE_DAEMON} && ($> != 0); my $restart = $ENV{RESTART_PVE_DAEMON};
delete $ENV{RESTART_PVE_DAEMON};
die "please run as root\n" if !$restart && ($> != 0);
die "missing name" if !$name; die "missing name" if !$name;
@ -360,6 +360,7 @@ sub new {
my $self = bless { my $self = bless {
name => $name, name => $name,
run_dir => '/var/run', run_dir => '/var/run',
env_restart_pve_daemon => $restart,
workers => {}, workers => {},
}, $class; }, $class;
@ -554,7 +555,7 @@ sub register_start_command {
my $reload_daemon = sub { my $reload_daemon = sub {
my ($self, $use_hup) = @_; my ($self, $use_hup) = @_;
if (my $restart = $ENV{RESTART_PVE_DAEMON}) { if ($self->{env_restart_pve_daemon}) {
$self->start(); $self->start();
} else { } else {
my ($running, $pid) = $self->running(); my ($running, $pid) = $self->running();