labath added inline comments.

================
Comment at: source/Host/windows/PipeWindows.cpp:28
 std::atomic<uint32_t> g_pipe_serial(0);
-}
+static std::string g_pipe_name_prefix = "\\\\.\\Pipe\\";
+} // namespace
----------------
This would be better as llvm::StringLiteral (or just a char array) to avoid 
global constructors. Also, `static` in an anonymous namespace is overkill (anon 
namespace implies static linkage).


================
Comment at: source/Host/windows/PipeWindows.cpp:47
+  // in the current process and usually crashes the program.  Pass handles
+  // instead since the handle can be inheritated.
+  m_read = read_handle;
----------------
inherited


================
Comment at: source/Host/windows/PipeWindows.cpp:120
 
-  // Open the write end of the pipe.
+  // FIXME: For server end pipe, it's not applicable to use CreateFile to get
+  // read or write end of the pipe for the reason that closing of the file will
----------------
I find it strange reading about "servers" in a low-level utility class that 
seemingly has nothing to do with serving. I think this will confuse future 
readers as they will not look at this in the context of this patch. Could you 
rephrase this?


================
Comment at: source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp:1074
+        }
+        auto write_handle = socket_pipe.GetWriteNativeHandle();
+        debugserver_args.AppendArgument(llvm::StringRef("--pipe"));
----------------
What do you think about adding `GetWriteNativeHandle` to the generic Pipe 
interface? In posix the file descriptor _is_ the native handle, so PipePosix 
could just return the fd, but it would allow you to write this bit of code 
generically without ifdefs (well, maybe except the `AppendCloseFileAction` 
below). Similarly, we could have a generic Pipe factory function(*) which takes 
the handles as input, which would allow you to implement the lldb-server side 
of things without ifdefs.

(*) I think a factory function (`Pipe::FromNativeHandles`?) would be better 
than a constructor to avoid ambiguities between descriptors and handles.


Repository:
  rLLDB LLDB

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

https://reviews.llvm.org/D56234



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to