ilya-nozhkin updated this revision to Diff 409091. ilya-nozhkin edited the summary of this revision. ilya-nozhkin added a comment. Herald added a subscriber: mgrang.
Implemented the approach suggested by @labath. I.e. now the target's hijacking listener is activated before `Process::Launch`. There are actually two ways of implementing that. The first of them (which is used in this diff) is to make the target activate the hijacking listener right after the process creation. The second one is to specify the hijacking listener in the launch info and then pass it to the platform, but it requires to modify all platforms to force them to activate the hijacking listener passed via launch info (currently, no platform actually does that). I've chosen the first way because it seems to be reliable and safe. I.e. the target won't depend on platforms, so, it'll be harder to break event dispatching again by some non-related modifications of platform's code. I've also decided not to remove platform-specific hijacking listeners yet because some platforms define a hijacking listener even in asynchronous mode and then use it for waiting for the process to stop (for example, PlatformQemuUser does that). I'll try to test tomorrow whether it is possible to remove hijacking listeners at least from some subset of platforms. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119548/new/ https://reviews.llvm.org/D119548 Files: lldb/include/lldb/Target/Target.h lldb/packages/Python/lldbsuite/test/lldbtest.py lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py lldb/source/Target/Process.cpp lldb/source/Target/Target.cpp lldb/test/API/tools/lldb-vscode/stop-hooks/Makefile lldb/test/API/tools/lldb-vscode/stop-hooks/TestVSCode_stop_hooks.py lldb/test/API/tools/lldb-vscode/stop-hooks/main.c vscode-race-fix-3.patch _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits