From 13b60fae2c183364f3e454c5fe720865285d495e Mon Sep 17 00:00:00 2001 From: Jiri Olsa Date: Tue, 5 Feb 2013 17:05:50 +0100 Subject: [PATCH] --- yaml --- r: 350065 b: refs/heads/master c: b22e79395c0fe4c86dd35745a929366034386ccc h: refs/heads/master i: 350063: d72c83e21e74931ad822f055d412c033e40d82e2 v: v3 --- [refs] | 2 +- trunk/tools/perf/scripts/perl/rwtop.pl | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e3a0efb36fb7..26e20566b7eb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0c5268bf2218144469dde3228f14898fadbbcdcd +refs/heads/master: b22e79395c0fe4c86dd35745a929366034386ccc diff --git a/trunk/tools/perf/scripts/perl/rwtop.pl b/trunk/tools/perf/scripts/perl/rwtop.pl index 4bb3ecd33472..8b20787021c1 100644 --- a/trunk/tools/perf/scripts/perl/rwtop.pl +++ b/trunk/tools/perf/scripts/perl/rwtop.pl @@ -17,6 +17,7 @@ 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; }