package testProcess; #use strict; use warnings; use Data::Dumper; use Getopt::Long; use File::Basename; use File::Temp; use Storable ('dclone'); use logger; use reporter; my $logger; our $local_xml_obj; my $gui_sync_file; my $night_run; my $packageReporter; sub new { my $class = shift; my ($xml_obj,$fatherSN,$gui_sync_file_input,$father_pid,$night_run_input) = @_; #kill -10 from UI $SIG{'USR1'}=\&prc_kill_handler; #Reseting signals so only father will catch them $SIG{'INT'}='IGNORE'; $SIG{'ALRM'}=sub {foreach my $thr (@parallel::threads){ $thr->kill('ALRM'); } }; } sub prc_kill_handler { my $signame = shift; printer::colorized_msg("\n got to prc_kill_handler \n","green"); $logger->info("usr_kill_handler: got signal $signame line: ".__LINE__); testProcess::finishPackage("user stoped"); testProcess::exit_run(); }