================ @@ -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