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()) }