summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2008-07-09 22:44:13 -0400
committerFrank Ch. Eigler <fche@elastic.org>2008-07-09 22:44:13 -0400
commita00cc8c70d20f2f3429590b629d272c8db65b40f (patch)
tree6a90966d1a715c48db4ac35b891c46ef654f272f /tapset
parentdf00639dbe262b8919bdf625f30d80e5b9b96346 (diff)
parent51a3785482396c9f653e3e7647945bfc24f7b160 (diff)
downloadsystemtap-steved-a00cc8c70d20f2f3429590b629d272c8db65b40f.tar.gz
systemtap-steved-a00cc8c70d20f2f3429590b629d272c8db65b40f.tar.xz
systemtap-steved-a00cc8c70d20f2f3429590b629d272c8db65b40f.zip
Merge commit 'origin/master' into pr6429-comp-unwindsyms
* commit 'origin/master': fix shutdown race condition for scripts that might exit during begin probes Fix PR 6732: Add runtime/autoconf-real-parent.c check for task_struct field. clarify dejagnu test case name for empty-struct changes add changelog entries for last two changes Add test suite for declaration resolution Fix semantic error: empty struct Add hack to support git 1.6 in git_version.sh Sync latest fix for git_version.sh from RadeonHD's tree Slightly cleanup code of translate.cxx PR2111: add general blurbage to stapprobes.5 on syscalls tapset Use `uname -rvm` for checking system compatibility. Generate Add section to stapex manual page on how installed examples are documented. Install examples, demos and samples. Install tutorial and langref manuals.
Diffstat (limited to 'tapset')
-rw-r--r--tapset/ChangeLog7
-rw-r--r--tapset/context.stp8
-rw-r--r--tapset/task.stp4
3 files changed, 19 insertions, 0 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index b1862324..670f3255 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,3 +1,10 @@
+2008-07-09 Mark Wielaard <mwielaard@redhat.com>
+
+ PR 6732
+ * context.stp (ppid): Use STAPCONF_REAL_PARENT.
+ (pexecname): Likewise.
+ * task.stp (task_parent): Likewise.
+
2008-07-01 Wenji Huang <wenji.huang@oracle.com>
* vfs.stp : Make _vfs.generic_commit_write only for kernel<=2.6.25
diff --git a/tapset/context.stp b/tapset/context.stp
index 10c52226..017c934c 100644
--- a/tapset/context.stp
+++ b/tapset/context.stp
@@ -41,11 +41,19 @@ function tid:long () %{ /* pure */
%}
function ppid:long () %{ /* pure */
+#if defined(STAPCONF_REAL_PARENT)
+ THIS->__retvalue = current->real_parent->tgid;
+#else
THIS->__retvalue = current->parent->tgid;
+#endif
%}
function pexecname:string () %{ /* pure */
+#if defined(STAPCONF_REAL_PARENT)
+ strlcpy (THIS->__retvalue, current->real_parent->comm, MAXSTRINGLEN);
+#else
strlcpy (THIS->__retvalue, current->parent->comm, MAXSTRINGLEN);
+#endif
%}
function gid:long () %{ /* pure */
diff --git a/tapset/task.stp b/tapset/task.stp
index d89729e8..9215e83f 100644
--- a/tapset/task.stp
+++ b/tapset/task.stp
@@ -23,7 +23,11 @@ function task_current:long () %{ /* pure */
// Return the parent task_struct of the given task
function task_parent:long (task:long) %{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
+#if defined(STAPCONF_REAL_PARENT)
+ THIS->__retvalue = (long)kread(&(t->real_parent));
+#else
THIS->__retvalue = (long)kread(&(t->parent));
+#endif
CATCH_DEREF_FAULT();
%}