
All current callers set the argument to false. monitor_signals=true used to be used in the Process plugins (which needed to know when the debugged process gets a signal), but this implementation has several serious issues, which means that individual process plugins now orchestrate the monitoring of debugged processes themselves. This allows us to simplify the implementation (no need to play with process groups), and the interface (we only catch fatal events, so the callback is always called just once). Differential Revision: https://reviews.llvm.org/D120425
43 lines
1.3 KiB
C++
43 lines
1.3 KiB
C++
//===-- HostProcess.cpp ---------------------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "lldb/Host/HostProcess.h"
|
|
#include "lldb/Host/HostNativeProcess.h"
|
|
#include "lldb/Host/HostThread.h"
|
|
|
|
using namespace lldb;
|
|
using namespace lldb_private;
|
|
|
|
HostProcess::HostProcess() : m_native_process(new HostNativeProcess) {}
|
|
|
|
HostProcess::HostProcess(lldb::process_t process)
|
|
: m_native_process(new HostNativeProcess(process)) {}
|
|
|
|
HostProcess::~HostProcess() = default;
|
|
|
|
Status HostProcess::Terminate() { return m_native_process->Terminate(); }
|
|
|
|
lldb::pid_t HostProcess::GetProcessId() const {
|
|
return m_native_process->GetProcessId();
|
|
}
|
|
|
|
bool HostProcess::IsRunning() const { return m_native_process->IsRunning(); }
|
|
|
|
llvm::Expected<HostThread> HostProcess::StartMonitoring(
|
|
const Host::MonitorChildProcessCallback &callback) {
|
|
return m_native_process->StartMonitoring(callback);
|
|
}
|
|
|
|
HostNativeProcessBase &HostProcess::GetNativeProcess() {
|
|
return *m_native_process;
|
|
}
|
|
|
|
const HostNativeProcessBase &HostProcess::GetNativeProcess() const {
|
|
return *m_native_process;
|
|
}
|