labath wrote:

> I can split out some of the type fixes and some other changes I ended up 
> lumping in here.

That would be great. Thanks.


> This isn't really a NFC because this is forcing some things to be serial that 
> were previously not serial. We previously could trigger an event in the 
> middle of a request handler and now we cannot. That forced some tests to 
> change behavior slightly to figure out some synchronization points in tests.

I believe you, but I don't understand. Since this restricts the set of possible 
message orderings (does it?), I would naively expect that a test which worked 
previously (with the wider set of orderings) would continue to work afterwards.

The only way I can imagine this not being true is if the tests weren't 100% 
correct (i.e., they were flaky), but whereas previously the "bad" case would 
happen 0.1% of the time, this patch now makes it the 100% case. And it's easier 
to make the test always expect the (previously) bad case than it is to accept 
all of the technically legal orderings. Is that's what happening? Maybe an 
example would help...

> Right now, I'm not actually using any read objects, just using the `MainLoop` 
> to handle dispatching events. I think we can't use the MainLoop for reading 
> from `stdin` on Windows yet. If it did work with `stdin` on Windows then we 
> could use `RegisterReadObject` for handling events and remove a thread.

Yeah, that unfortunately doesn't work right now. I would like to make that work 
one day, but my priority right now is for making it work with pipes (insomuch 
as you can call this a priority).

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

Reply via email to