[Lldb-commits] [PATCH] D12083: [LLGS] Avoid misrepresenting log lines as inferior output

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Mon Aug 17 07:51:22 PDT 2015

labath created this revision.
labath added reviewers: clayborg, ovyalov.
labath added subscribers: lldb-commits, dean.

in case we are logging to stdout, any log lines from the forked child can be misconstrued to be
inferior output. To avoid this, we disable all logging immediately after forking.

I also fix the implementatoion of DisableAllLogChannels, which was a no-op before this commit.



Index: source/Plugins/Process/Linux/NativeProcessLinux.cpp
--- source/Plugins/Process/Linux/NativeProcessLinux.cpp
+++ source/Plugins/Process/Linux/NativeProcessLinux.cpp
@@ -560,8 +560,11 @@
     // Child process.
     if (pid == 0)
+        // First, make sure we disable all logging. If we are logging to stdout, our logs can be
+        // mistaken for interior output.
+        Log::DisableAllLogChannels(nullptr);
         // FIXME consider opening a pipe between parent/child and have this forked child
-        // send log info to parent re: launch status, in place of the log lines removed here.
+        // send log info to parent re: launch status.
         // Start tracing this child that is about to exec.
         error = PtraceWrapper(PTRACE_TRACEME, 0);
Index: source/Core/Log.cpp
--- source/Core/Log.cpp
+++ source/Core/Log.cpp
@@ -449,7 +449,7 @@
     CallbackMap &callback_map = GetCallbackMap ();
     CallbackMapIter pos, end = callback_map.end();
-    const char *categories[1] = {NULL};
+    const char *categories[] = {"all", nullptr};
     for (pos = callback_map.begin(); pos != end; ++pos)
         pos->second.disable (categories, feedback_strm);

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12083.32298.patch
Type: text/x-patch
Size: 1326 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150817/3ef35167/attachment.bin>

More information about the lldb-commits mailing list