> Sleep is used to make the system sleep the current thread a little bit > between polling for processes by name. If the sleep isn't there, we will > light up a CPU with really quick polling for the processes by name, so > we should use usleep() which take a sleep amount in microseconds to not > peg the CPU at 100% while waiting.
Are there any objections to using std::this_thread::sleep_for? The headers seem to already be included and other tools inside the project seem to make use of it. Another "issue" I've encountered is related to Ubuntu's ptrace protection [1]. If ptrace is blocked for non-child processes then you get an error. In lldb you'd see "error: attach failed: lost connection" but in the logs of the lldb-server you'd see "GDBRemoteCommunicationServerLLGS::Handle_vAttachWait failed to attach to process named langserver-swift: Operation not permitted". Of note is the "Operation not permitted". While I'm still not sure how to check for the presence of the ptrace protection (so that a more detailed error can be provided). I think displaying "operation not permitted" is more indicative of the underlying error than "lost connection". So here's the question: is there a way that I could go about surfacing that error back to main lldb? [1] https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#ptrace_Protection _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev