After rLLDB365761, and with LLVM_ENABLE_ABI_BREAKING_CHECKS enabled, launching
any process on FreeBSD crashes lldb with:
Expected<T> must be checked before access or destruction. Expected<T> value was in success state. (Note: Expected<T> values in success mode must still be checked prior to being destroyed).
This is because m_operation_thread and m_monitor_thread were wrapped in
llvm::Expected<>, but this requires the objects to be correctly initialized
before accessing them.
To fix the crashes, revert the wrapping, and use local variables to store the
return values of LaunchThread and StartMonitoringChildProcess. Then, only
assign to the member variables after checking if the return values indicated
success.
nit: Would prefer obvious typing but can go along with it, just a detail.