summaryrefslogtreecommitdiffstats
path: root/core/jni/android_util_Process.cpp
diff options
context:
space:
mode:
authorSan Mehat <san@google.com>2009-10-29 11:48:50 -0700
committerSan Mehat <san@google.com>2009-10-29 11:50:43 -0700
commita5109a878eeff22e32ee5ce1b1cd15e8daad5234 (patch)
treef04f2afc3b729f8625f3849ecd2d88ce74471b88 /core/jni/android_util_Process.cpp
parent22dad5928d1d1f2c791616d9d6ab3a3172cec62e (diff)
downloadframeworks_base-a5109a878eeff22e32ee5ce1b1cd15e8daad5234.zip
frameworks_base-a5109a878eeff22e32ee5ce1b1cd15e8daad5234.tar.gz
frameworks_base-a5109a878eeff22e32ee5ce1b1cd15e8daad5234.tar.bz2
process: Add debug code to log process group transitions
Signed-off-by: San Mehat <san@google.com>
Diffstat (limited to 'core/jni/android_util_Process.cpp')
-rw-r--r--core/jni/android_util_Process.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp
index 5b6c7ea..7c627c1 100644
--- a/core/jni/android_util_Process.cpp
+++ b/core/jni/android_util_Process.cpp
@@ -51,6 +51,8 @@ pid_t gettid() { return syscall(__NR_gettid);}
#undef __KERNEL__
#endif
+#define POLICY_DEBUG 1
+
using namespace android;
static void signalExceptionForPriorityError(JNIEnv* env, jobject obj, int err)
@@ -212,6 +214,26 @@ void android_os_Process_setProcessGroup(JNIEnv* env, jobject clazz, int pid, jin
return;
}
+#if POLICY_DEBUG
+ char cmdline[32];
+ int fd;
+
+ strcpy(cmdline, "unknown");
+
+ sprintf(proc_path, "/proc/%d/cmdline", pid);
+ fd = open(proc_path, O_RDONLY);
+ if (fd >= 0) {
+ int rc = read(fd, cmdline, sizeof(cmdline)-1);
+ cmdline[rc] = 0;
+ close(fd);
+ }
+
+ if (grp == ANDROID_TGROUP_BG_NONINTERACT) {
+ LOGD("setProcessGroup: vvv pid %d (%s)", pid, cmdline);
+ } else {
+ LOGD("setProcessGroup: ^^^ pid %d (%s)", pid, cmdline);
+ }
+#endif
sprintf(proc_path, "/proc/%d/task", pid);
if (!(d = opendir(proc_path))) {
// If the process exited on us, don't generate an exception