diff options
Diffstat (limited to 'tools/perf/scripts/perl/rwtop.pl')
| -rw-r--r-- | tools/perf/scripts/perl/rwtop.pl | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/perf/scripts/perl/rwtop.pl b/tools/perf/scripts/perl/rwtop.pl index 4bb3ecd3347..8b20787021c 100644 --- a/tools/perf/scripts/perl/rwtop.pl +++ b/tools/perf/scripts/perl/rwtop.pl @@ -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;  }  |