[PATCH] proc: Document that /proc/<pid>/task/<tid>/children really is per-thread

From: Andy Lutomirski
Date: Wed Jun 26 2013 - 17:05:15 EST


I was surprised to discover that a process can have a parent that isn't
a thread group leader. (The usual ppid interfaces hide this, but the
children list exposes it.)

Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
---
Documentation/filesystems/proc.txt | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index fd8d0d5..205796a 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -1623,6 +1623,12 @@ This file provides a fast way to retrieve first level children pids
of a task pointed by <pid>/<tid> pair. The format is a space separated
stream of pids.

+This really is a per-thread list. If a process's parent is a thread,
+then that process will appear in that thread's children list. (This
+means that, for any pid, /proc/pid/task/*/children are disjoint lists.)
+This may be surprising, as /proc/pid/status's PPid field is parent's
+tgid as opposed to the parent's tid.
+
Note the "first level" here -- if a child has own children they will
not be listed here, one needs to read /proc/<children-pid>/task/<tid>/children
to obtain the descendants.
--
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/