https://github.com/labath requested changes to this pull request.

I wanted to change this code to use threads for a long time, but the idea of 
using a per-thread virtual file system absolutely terrifies me. That only works 
is all of the accesses go through the file system (no direct syscalls) and if 
we're very strict about which code executes on which thread. Right now, I don't 
think we're either, and I don't see how we could ever achieve it. (That's not 
exactly true for the code in the lldb-server, but we also don't really have 
enforcable rules for which code can be run in the lldb-server, and the code 
this is changing affects all of lldb).

(Also, I guess this is the reason for the ETXTBSY workaround)

One obvious and safe (though less performant and less satisfying) alternative 
is to replace the fork with spawning a new process (fork+execve) instead. Have 
you considered that?

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

Reply via email to