================
@@ -893,10 +893,23 @@ llvm::Error DAP::Loop() {
             return errWrapper;
           }
 
+          // The launch sequence is special and we need to carefully handle
+          // packets in the right order. The launch and attach requests cannot
+          // be answered until we've gotten the confgigurationDone request. We
+          // can't answer the threads request until we've successfully launched
+          // or attached.
+          bool is_part_of_launch_sequence = false;
----------------
ashgti wrote:

After `request initialize` + `event initialized`, should we queue everything 
until we see `configurationDone`? We're already making a special case for 
`threads` and I worry about other special cases. Maybe the general flow should 
be to put all messages into the launch queue except `initialize`, 
`configurationDone` and `disconnect` (in case we need to shutdown before 
launching is complete) until we've responded to `configurationDone`. Then we 
can process the launch queue and processed as normal at that point.

https://github.com/llvm/llvm-project/pull/138219
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to