2 Commits

Author SHA1 Message Date
eleksir
b3a8a1724c Add SIGQUIT handler, fix setting of default value of loglevel 2022-11-06 18:12:35 +03:00
eleksir
e100b00838 Fix setting default value for forward_max if not defined in config 2022-11-06 18:01:30 +03:00
2 changed files with 12 additions and 3 deletions

View File

@@ -47,7 +47,10 @@ my $runAsUid = $UID;
my $piddir = '/var/run/' . basename (abs_path ($PROGRAM_NAME));
my $C = LoadConf ();
my $loglevel = $C->{'loglevel'} // 'notice';
my $loglevel = 'notice';
$loglevel = $C->{'loglevel'} if defined $C->{'loglevel'};
my $logfile;
if (defined $C->{'log'}) {
@@ -136,6 +139,7 @@ close $MYPID; ## no critic (InputOutput::
# подстраховка на случай ядерной войны.
local $SIG{INT} = \&__signal_handler;
local $SIG{TERM} = \&__signal_handler;
local $SIG{QUIT} = \&__signal_handler;
# Поставим правильное имя процесса в proctitle
$PROGRAM_NAME = abs_path $PROGRAM_NAME; ## no critic (Variables::RequireLocalizedPunctuationVars)
@@ -152,7 +156,7 @@ exit 0;
sub daemonize {
__fork ();
setsid ();
open STDIN, '<', File::Spec->devnull; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen)
open STDIN, '<', File::Spec->devnull; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen)
__fork ();
umask 0;
return;

View File

@@ -42,7 +42,11 @@ sub brains (@);
sub RunCraniac ();
my $c = LoadConf ();
my $fwd_cnt = $c->{'forward_max'} // 5;
my $fwd_cnt = 5;
if (defined $c->{'forward_max'}) {
$fwd_cnt = $c->{'forward_max'};
}
my $hailo;
@@ -446,6 +450,7 @@ sub RunCraniac () {
Mojo::IOLoop::Signal->on (TERM => $__signal_handler);
Mojo::IOLoop::Signal->on (INT => $__signal_handler);
Mojo::IOLoop::Signal->on (QUIT => $__signal_handler);
do { Mojo::IOLoop->start } until Mojo::IOLoop->is_running;
return;