diff --git a/pr19874.patch b/pr19874.patch new file mode 100644 index 0000000..95f1792 --- /dev/null +++ b/pr19874.patch @@ -0,0 +1,52 @@ +commit 10c48d46fa482b8cc762592aaee6c7cc178356e7 (HEAD -> master, origin/master, origin/HEAD) +Author: Frank Ch. Eigler +Date: Mon Mar 28 08:54:11 2016 -0400 + + PR19874: reset 60s alarm for "stap -c CMD" + + Brown paper bag bug. Test case included. + +diff --git a/staprun/mainloop.c b/staprun/mainloop.c +index 82c0c74fcf0c..874fbd8f8a99 100644 +--- a/staprun/mainloop.c ++++ b/staprun/mainloop.c +@@ -281,6 +281,7 @@ void start_cmd(void) + raise (SIGCONT); /* Harmless; just passes control to parent. */ + #endif /* !WORKAROUND_BZ467568 */ + ++ alarm(0); /* clear alarms */ + dbug(1, "execing target_cmd %s\n", target_cmd); + + /* Note that execvp() is not a direct system call; it does a $PATH +diff --git a/testsuite/systemtap.base/staprunwait.exp b/testsuite/systemtap.base/staprunwait.exp +new file mode 100644 +index 000000000000..fc719730bc4c +--- /dev/null ++++ b/testsuite/systemtap.base/staprunwait.exp +@@ -0,0 +1,17 @@ ++set test staprunwait ++ ++if {! [installtest_p]} { untested $test; return } ++ ++foreach runtime [get_runtime_list] { ++ if {$runtime != ""} { ++ set ok [catch {exec stap $srcdir/$subdir/$test.stp --runtime=$runtime -c "sleep 120"} foo] ++ } else { ++ set ok [catch {exec stap $srcdir/$subdir/$test.stp -c "sleep 120"} foo] ++ } ++ verbose -log "$ok $foo" ++ if {$ok != 0} { ++ fail "$test $runtime" ++ } else { ++ pass "$test $runtime" ++ } ++} +diff --git a/testsuite/systemtap.base/staprunwait.stp b/testsuite/systemtap.base/staprunwait.stp +new file mode 100644 +index 000000000000..91cbc92446c4 +--- /dev/null ++++ b/testsuite/systemtap.base/staprunwait.stp +@@ -0,0 +1,3 @@ ++#! /usr/bin/env stap ++ ++probe timer.s(10) { println(ctime()) } diff --git a/systemtap.spec b/systemtap.spec index c6eee7b..c28d7c3 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -60,7 +60,7 @@ Name: systemtap Version: 3.0 -Release: 1%{?dist} +Release: 2%{?dist} # for version, see also configure.ac @@ -158,6 +158,8 @@ BuildRequires: readline-devel BuildRequires: ncurses-devel %endif +Patch10: pr19874.patch + # Install requirements Requires: systemtap-client = %{version}-%{release} Requires: systemtap-devel = %{version}-%{release} @@ -408,6 +410,8 @@ find . \( -name configure -o -name config.h.in \) -print | xargs touch cd .. %endif +%patch10 -p1 + %build %if %{with_bundled_elfutils} @@ -1051,6 +1055,9 @@ done # http://sourceware.org/systemtap/wiki/SystemTapReleases %changelog +* Mon Mar 28 2016 Frank Ch. Eigler - 3.0-2 +- fix PR19874 (stap -c CMD 60-second alarm) + * Sun Mar 27 2016 Frank Ch. Eigler - 3.0-1 - Upstream release.