|
@@ -17,6 +17,7 @@ use lib "$ENV{'PERF_EXEC_PATH'}/scripts/perl/Perf-Trace-Util/lib";
|
|
|
use lib "./Perf-Trace-Util/lib";
|
|
|
use Perf::Trace::Core;
|
|
|
use Perf::Trace::Util;
|
|
|
+use POSIX qw/SIGALRM SA_RESTART/;
|
|
|
|
|
|
my $default_interval = 3;
|
|
|
my $nlines = 20;
|
|
@@ -90,7 +91,10 @@ sub syscalls::sys_enter_write
|
|
|
|
|
|
sub trace_begin
|
|
|
{
|
|
|
- $SIG{ALRM} = \&set_print_pending;
|
|
|
+ my $sa = POSIX::SigAction->new(\&set_print_pending);
|
|
|
+ $sa->flags(SA_RESTART);
|
|
|
+ $sa->safe(1);
|
|
|
+ POSIX::sigaction(SIGALRM, $sa) or die "Can't set SIGALRM handler: $!\n";
|
|
|
alarm 1;
|
|
|
}
|
|
|
|