Add SIGQUIT handler, fix setting of default value of loglevel
This commit is contained in:
@@ -47,7 +47,10 @@ my $runAsUid = $UID;
|
|||||||
|
|
||||||
my $piddir = '/var/run/' . basename (abs_path ($PROGRAM_NAME));
|
my $piddir = '/var/run/' . basename (abs_path ($PROGRAM_NAME));
|
||||||
my $C = LoadConf ();
|
my $C = LoadConf ();
|
||||||
my $loglevel = $C->{'loglevel'} // 'notice';
|
|
||||||
|
my $loglevel = 'notice';
|
||||||
|
$loglevel = $C->{'loglevel'} if defined $C->{'loglevel'};
|
||||||
|
|
||||||
my $logfile;
|
my $logfile;
|
||||||
|
|
||||||
if (defined $C->{'log'}) {
|
if (defined $C->{'log'}) {
|
||||||
@@ -136,6 +139,7 @@ close $MYPID; ## no critic (InputOutput::
|
|||||||
# подстраховка на случай ядерной войны.
|
# подстраховка на случай ядерной войны.
|
||||||
local $SIG{INT} = \&__signal_handler;
|
local $SIG{INT} = \&__signal_handler;
|
||||||
local $SIG{TERM} = \&__signal_handler;
|
local $SIG{TERM} = \&__signal_handler;
|
||||||
|
local $SIG{QUIT} = \&__signal_handler;
|
||||||
|
|
||||||
# Поставим правильное имя процесса в proctitle
|
# Поставим правильное имя процесса в proctitle
|
||||||
$PROGRAM_NAME = abs_path $PROGRAM_NAME; ## no critic (Variables::RequireLocalizedPunctuationVars)
|
$PROGRAM_NAME = abs_path $PROGRAM_NAME; ## no critic (Variables::RequireLocalizedPunctuationVars)
|
||||||
@@ -152,7 +156,7 @@ exit 0;
|
|||||||
sub daemonize {
|
sub daemonize {
|
||||||
__fork ();
|
__fork ();
|
||||||
setsid ();
|
setsid ();
|
||||||
open STDIN, '<', File::Spec->devnull; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen)
|
open STDIN, '<', File::Spec->devnull; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen)
|
||||||
__fork ();
|
__fork ();
|
||||||
umask 0;
|
umask 0;
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -450,6 +450,7 @@ sub RunCraniac () {
|
|||||||
|
|
||||||
Mojo::IOLoop::Signal->on (TERM => $__signal_handler);
|
Mojo::IOLoop::Signal->on (TERM => $__signal_handler);
|
||||||
Mojo::IOLoop::Signal->on (INT => $__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;
|
do { Mojo::IOLoop->start } until Mojo::IOLoop->is_running;
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user