[Lldb-commits] [PATCH] D61686: Enable lldb-server on Windows

Saleem Abdulrasool via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed May 8 12:48:19 PDT 2019

compnerd added inline comments.

Comment at: include/lldb/Host/windows/PosixApi.h:108
+  // To be implemented.
+  return pid_t(-1);
This should be out-of-lined.  Furthermore, is there any place where the use requires process group handling?  Otherwise, can't we just replace this with:

pid_t waitpid(pid_t pid, int *status, int options) {
  assert(pid > 0 && "only support waiting for a particular child");
  assert(options ^ ~WNOHANG == 0 && "only WNOHANG is supported');
  HANDLE hProcess;
  DWORD dwResult;
  hProcess = OpenProcess(SYNCHRONIZE, FALSE, pid);
  if (hProcess == NULL) return pid_t(-1); // TODO(compnerd) better error handling
  dwResult = WaitForSingleObject(hProcess, options & WNOHANG ? 0 : INFINITE);
  if (dwResult == WAIT_OBJECT_0 || dwResult == WAIT_TIMEOUT) return pid;
  return pid_t(-1);

Comment at: source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:220
+    // In most cases the missing notifications do not affect lldb-server
+    // so we are temporarily relaxing the following for Windows.
+#if !defined(_WIN32)
amccarth wrote:
> Hui wrote:
> > amccarth wrote:
> > > What's the scope of "temporarily"?  Is there some specific feature or change that will cause this workaround to be removed?
> > Currently the absence of pty support is treated as a fatal error that will block the overall usage of lldb-server.exe for windows. In my opinion, the redirection of std -i/o/e are mainly intended to generate I* and O* packets to notify the lldb about the llgs's inferior (shown on lldb console). Without such support, some of the lldb-server functionalities, like launch/attach process and most of the remote packets etc. still can be tested or say be experimented (see the python tests under tools/lldb-server). 
> > 
> > Temporarily relax the mentioned codes and wait  for the pty support on windows. No concrete idea how to add that support now.
> Got it.  I misunderstood the original comment and thought the "temporarily" applied to the code change itself.
PTY support is available as of 2019H1.



More information about the lldb-commits mailing list