I am using this in Linux/Unix. So Windows is not an issue for me. Can you help me in Unix. Here is my updated sample code:
use strict;
use threads;
no warnings 'threads';
our @ThreadsArr;
$SIG{INT} = \&INT_HANDLER;
$| = 1;
sub INT_HANDLER {
print "Received Interrupt. Stopping Main Program\n";
}
for (my $ii = 0; $ii < 10; $ii++) {
my $Thread = threads->new( "Thread_SUB", $ii );
push (@ThreadsArr, $Thread);
}
foreach (@ThreadsArr) {
$_->join();
}
sub Thread_SUB {
my $thread_id = shift;
$SIG{'KILL'} = sub {
print "Killing Thread $thread_id\n";
threads->exit();
};
for (my $ii = 0; $ii <= 15; $ii++) {
print "$thread_id - Sleeping $ii\n";
sleep 1;
}
}
This program is not acknowledging the interrupts when sent as ctrl+c