[Lldb-commits] [lldb] [lldb] Remove Listener::SetShadow (PR #97555)

via lldb-commits lldb-commits at lists.llvm.org
Wed Jul 3 13:46:16 PDT 2024


jimingham wrote:

The problem was is currently you cna make a process, then do:

    listener = lldb.SBListener("my_listener")
    process.broadcaster.AddListener(listener, lldb.SBProcess.eBroadcastBitStateChanged)

and nothing marks this as a Shadow listener, so when we go to deliver events, we don't wait on the consumption by the Primary listener.

But I don't think I should need SetShadow for this.  I don't think we need to mark the listener outside the "Add" action as Shadow.  Instead, AddListener should see if there IS a primary listener, and if there is one, then any other listener has to be a shadow listener.

Actually, I wonder if we really need this distinction to be marked explicitly, I might have been being too general.  If you have a primary listener, then all the other listeners have to be shadow listeners.  I don't think anything else makes sense.  And conversely, if you don't have a primary listener, then I marking some of the listeners as shadow doesn't do anything useful.


https://github.com/llvm/llvm-project/pull/97555


More information about the lldb-commits mailing list