[Lldb-commits] [PATCH] D157159: [lldb] Properly protect the Communication class with reader/writer lock

Alex Langford via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Aug 7 13:27:58 PDT 2023


bulbazord accepted this revision.
bulbazord added a comment.

LGTM



================
Comment at: lldb/source/Core/Communication.cpp:115-118
+    total_written +=
+        WriteUnlocked(static_cast<const char *>(src) + total_written,
+                      src_len - total_written, status, error_ptr);
   while (status == eConnectionStatusSuccess && total_written < src_len);
----------------
Unrelated to your patch but something about this is triggering my spider sense. Is it possible that `status == eConnectionStatusSuccess` while `WriteUnlocked` returns 0? This might end up in an infinite loop then, no?

Obviously you don't need to address this since it's unrelated, but something to think about for resiliency.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D157159/new/

https://reviews.llvm.org/D157159



More information about the lldb-commits mailing list