[Lldb-commits] [PATCH] D131837: [lldb] [gdb-remote] Initial support for multiple ContinueDelegates

Michał Górny via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Aug 18 23:05:29 PDT 2022


mgorny added a comment.

In D131837#3732971 <https://reviews.llvm.org/D131837#3732971>, @labath wrote:

> This sort of makes sense to me, but it's not clear to me how is this selection logic going to apply to packets other than stop-replies. All of the forked processes are going to share the same pty, so it's going to be literally impossible to distinguish the `O` packets, for instance. I'm wondering if it would make sense to split this interface into two, and have just one "preferred" recipient of `O` packets (and possibly others as well -- as we have no plans for supporting them right now), and have a separate list of recipients who would do things with the stop replies?

Specifically about the `O` packets, I've been thinking that it doesn't really make any difference which process receives them — after all, they will be printed all the same, won't they?



================
Comment at: lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h:23
     virtual ~ContinueDelegate();
-    virtual void HandleAsyncStdout(llvm::StringRef out) = 0;
-    virtual void HandleAsyncMisc(llvm::StringRef data) = 0;
-    virtual void HandleStopReply() = 0;
+    virtual void HandleAsyncStdout(llvm::StringRef out, bool &handled) = 0;
+    virtual void HandleAsyncMisc(llvm::StringRef data, bool &handled) = 0;
----------------
labath wrote:
> Why not just make this a regular return value?
I've figured out an explicit variable makes its purpose clearer, rather than arbitrary `return true/false`.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131837/new/

https://reviews.llvm.org/D131837



More information about the lldb-commits mailing list