[Lldb-commits] [lldb] r241486 - Use /proc/$$/stat instead of $PPID.

Chaoren Lin chaorenl at google.com
Mon Jul 6 11:56:04 PDT 2015


Author: chaoren
Date: Mon Jul  6 13:56:04 2015
New Revision: 241486

URL: http://llvm.org/viewvc/llvm-project?rev=241486&view=rev
Log:
Use /proc/$$/stat instead of $PPID.

Summary: $PPID is not available on old shells.

Reviewers: tberghammer, ovyalov

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D10968

Modified:
    lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py

Modified: lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py?rev=241486&r1=241485&r2=241486&view=diff
==============================================================================
--- lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py (original)
+++ lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py Mon Jul  6 13:56:04 2015
@@ -158,7 +158,10 @@ class GdbRemoteTestCaseBase(TestBase):
             # Remote platforms don't support named pipe based port negotiation
             use_named_pipe = False
 
-            pid = run_shell_cmd("echo $PPID")
+            # Grab the ppid from /proc/[shell pid]/stat
+            shell_stat = run_shell_cmd("cat /proc/$$/stat")
+            # [pid] ([executable]) [state] [*ppid*]
+            pid = re.match(r"^\d+ \(.+\) . (\d+)", shell_stat).group(1)
             ls_output = run_shell_cmd("ls -l /proc/%s/exe" % pid)
             exe = ls_output.split()[-1]
 





More information about the lldb-commits mailing list