[lldb, windows] Update two more locations that use LaunchThread to the new function...
authorStella Stamenova <stilis@microsoft.com>
Tue, 9 Jul 2019 18:10:36 +0000 (18:10 +0000)
committerStella Stamenova <stilis@microsoft.com>
Tue, 9 Jul 2019 18:10:36 +0000 (18:10 +0000)
llvm-svn: 365526

lldb/source/Host/windows/HostProcessWindows.cpp
lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp

index f615318..9051724 100644 (file)
@@ -14,6 +14,7 @@
 
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/ConvertUTF.h"
+#include "llvm/Support/WindowsError.h"
 
 #include <psapi.h>
 
@@ -94,8 +95,7 @@ llvm::Expected<HostThread> HostProcessWindows::StartMonitoring(
                                         HostProcessWindows::MonitorThread,
                                         info);
   } else {
-    DWORD err = GetLastError();
-    return llvm::errorCodeToError(std::error_code(err, std::system_category()));
+    return llvm::errorCodeToError(llvm::mapWindowsError(GetLastError()));
   }
 }
 
index 104ac22..58769bd 100644 (file)
@@ -63,16 +63,18 @@ Status DebuggerThread::DebugLaunch(const ProcessLaunchInfo &launch_info) {
   Log *log = ProcessWindowsLog::GetLogIfAny(WINDOWS_LOG_PROCESS);
   LLDB_LOG(log, "launching '{0}'", launch_info.GetExecutableFile().GetPath());
 
-  Status error;
+  Status result;
   DebugLaunchContext *context = new DebugLaunchContext(this, launch_info);
-  HostThread slave_thread(ThreadLauncher::LaunchThread(
-      "lldb.plugin.process-windows.slave[?]", DebuggerThreadLaunchRoutine,
-      context, &error));
 
-  if (!error.Success())
-    LLDB_LOG(log, "couldn't launch debugger thread. {0}", error);
+  llvm::Expected<HostThread> slave_thread = ThreadLauncher::LaunchThread(
+      "lldb.plugin.process-windows.slave[?]", DebuggerThreadLaunchRoutine,
+      context);
+  if (!slave_thread) {
+    result = Status(slave_thread.takeError());
+    LLDB_LOG(log, "couldn't launch debugger thread. {0}", result);
+  }
 
-  return error;
+  return result;
 }
 
 Status DebuggerThread::DebugAttach(lldb::pid_t pid,
@@ -80,16 +82,18 @@ Status DebuggerThread::DebugAttach(lldb::pid_t pid,
   Log *log = ProcessWindowsLog::GetLogIfAny(WINDOWS_LOG_PROCESS);
   LLDB_LOG(log, "attaching to '{0}'", pid);
 
-  Status error;
+  Status result;
   DebugAttachContext *context = new DebugAttachContext(this, pid, attach_info);
-  HostThread slave_thread(ThreadLauncher::LaunchThread(
-      "lldb.plugin.process-windows.slave[?]", DebuggerThreadAttachRoutine,
-      context, &error));
 
-  if (!error.Success())
-    LLDB_LOG(log, "couldn't attach to process '{0}'. {1}", pid, error);
+  llvm::Expected<HostThread> slave_thread = ThreadLauncher::LaunchThread(
+      "lldb.plugin.process-windows.slave[?]", DebuggerThreadAttachRoutine,
+      context);
+  if (!slave_thread) {
+    result = Status(slave_thread.takeError());
+    LLDB_LOG(log, "couldn't attach to process '{0}'. {1}", pid, result);
+  }
 
-  return error;
+  return result;
 }
 
 lldb::thread_result_t DebuggerThread::DebuggerThreadLaunchRoutine(void *data) {