Fixed debugserver to not exit when we are able to spawn the process, yet not
launch it due to not being able to get the task port. A SIGHUP was killing us
and also an error string wasn't properly being passed along. Got rid of a
class error variable that can only lead to multi-threaded crashes.
llvm-svn: 109930
diff --git a/lldb/tools/debugserver/source/debugserver.cpp b/lldb/tools/debugserver/source/debugserver.cpp
index f3041db..680a988 100644
--- a/lldb/tools/debugserver/source/debugserver.cpp
+++ b/lldb/tools/debugserver/source/debugserver.cpp
@@ -216,7 +216,7 @@
if (pid == INVALID_NUB_PROCESS && strlen(launch_err_str) > 0)
{
- DNBLogThreaded ("%s DNBProcessLaunch() returned error: '%s'", __FUNCTION__);
+ DNBLogThreaded ("%s DNBProcessLaunch() returned error: '%s'", __FUNCTION__, launch_err_str);
ctx.LaunchStatus().SetError(-1, DNBError::Generic);
ctx.LaunchStatus().SetErrorString(launch_err_str);
}
@@ -676,6 +676,7 @@
// signal (SIGINT, signal_handler);
signal (SIGPIPE, signal_handler);
+ signal (SIGHUP, signal_handler);
int i;
int attach_pid = INVALID_NUB_PROCESS;