LLDB mainline
lldb_private::process_aix::NativeProcessAIX::Manager Class Reference

#include <NativeProcessAIX.h>

Inheritance diagram for lldb_private::process_aix::NativeProcessAIX::Manager:
[legend]

Public Member Functions

 Manager (MainLoop &mainloop)
llvm::Expected< std::unique_ptr< NativeProcessProtocol > > Launch (ProcessLaunchInfo &launch_info, NativeDelegate &native_delegate) override
 Launch a process for debugging.
llvm::Expected< std::unique_ptr< NativeProcessProtocol > > Attach (lldb::pid_t pid, NativeDelegate &native_delegate) override
 Attach to an existing process.
void AddProcess (NativeProcessAIX &process)
void RemoveProcess (NativeProcessAIX &process)
void CollectThread (::pid_t tid)
Public Member Functions inherited from lldb_private::NativeProcessProtocol::Manager
 Manager (MainLoop &mainloop)
 Manager (const Manager &)=delete
Manageroperator= (const Manager &)=delete
virtual ~Manager ()
virtual Extension GetSupportedExtensions () const
 Get the bitmask of extensions supported by this process plugin.

Private Member Functions

void SigchldHandler ()

Private Attributes

MainLoop::SignalHandleUP m_sigchld_handle
llvm::SmallPtrSet< NativeProcessAIX *, 2 > m_processes

Additional Inherited Members

Protected Attributes inherited from lldb_private::NativeProcessProtocol::Manager
MainLoopm_mainloop

Detailed Description

Definition at line 34 of file NativeProcessAIX.h.

Constructor & Destructor Documentation

◆ Manager()

Member Function Documentation

◆ AddProcess()

void lldb_private::process_aix::NativeProcessAIX::Manager::AddProcess ( NativeProcessAIX & process)
inline

◆ Attach()

llvm::Expected< std::unique_ptr< NativeProcessProtocol > > NativeProcessAIX::Manager::Attach ( lldb::pid_t pid,
NativeDelegate & native_delegate )
overridevirtual

Attach to an existing process.

Parameters
[in]pidpid of the process locatable
[in]native_delegateThe delegate that will receive messages regarding the inferior. Must outlive the NativeProcessProtocol instance.
[in]mainloopThe mainloop instance with which the process can register callbacks. Must outlive the NativeProcessProtocol instance.
Returns
A NativeProcessProtocol shared pointer if the operation succeeded or an error object if it failed.

Implements lldb_private::NativeProcessProtocol::Manager.

Definition at line 94 of file NativeProcessAIX.cpp.

References lldb_private::process_aix::NativeProcessAIX::Attach(), lldb_private::GetLog(), LLDB_LOG, lldb_private::process_aix::NativeProcessAIX::NativeProcessAIX(), and lldb_private::Process.

◆ CollectThread()

void NativeProcessAIX::Manager::CollectThread ( ::pid_t tid)

Definition at line 143 of file NativeProcessAIX.cpp.

◆ Launch()

llvm::Expected< std::unique_ptr< NativeProcessProtocol > > NativeProcessAIX::Manager::Launch ( ProcessLaunchInfo & launch_info,
NativeDelegate & native_delegate )
overridevirtual

Launch a process for debugging.

Parameters
[in]launch_infoInformation required to launch the process.
[in]native_delegateThe delegate that will receive messages regarding the inferior. Must outlive the NativeProcessProtocol instance.
[in]mainloopThe mainloop instance with which the process can register callbacks. Must outlive the NativeProcessProtocol instance.
Returns
A NativeProcessProtocol shared pointer if the operation succeeded or an error object if it failed.

Implements lldb_private::NativeProcessProtocol::Manager.

Definition at line 61 of file NativeProcessAIX.cpp.

References lldb_private::WaitStatus::Decode(), lldb_private::Status::Fail(), lldb_private::GetLog(), lldb_private::HostProcess::GetProcessId(), lldb_private::ProcessLaunchInfo::GetPTY(), lldb_private::ProcessLauncherPosixFork::LaunchProcess(), LLDB_LOG, lldb_private::process_aix::NativeProcessAIX::NativeProcessAIX(), lldb_private::Process, lldb_private::PseudoTerminal::ReleasePrimaryFileDescriptor(), lldb_private::Status::ToError(), and UNUSED_IF_ASSERT_DISABLED.

◆ RemoveProcess()

void lldb_private::process_aix::NativeProcessAIX::Manager::RemoveProcess ( NativeProcessAIX & process)
inline

◆ SigchldHandler()

void NativeProcessAIX::Manager::SigchldHandler ( )
private

Definition at line 135 of file NativeProcessAIX.cpp.

References WaitPid().

Referenced by Manager().

Member Data Documentation

◆ m_processes

llvm::SmallPtrSet<NativeProcessAIX *, 2> lldb_private::process_aix::NativeProcessAIX::Manager::m_processes
private

Definition at line 57 of file NativeProcessAIX.h.

Referenced by AddProcess(), and RemoveProcess().

◆ m_sigchld_handle

MainLoop::SignalHandleUP lldb_private::process_aix::NativeProcessAIX::Manager::m_sigchld_handle
private

Definition at line 55 of file NativeProcessAIX.h.

Referenced by Manager().


The documentation for this class was generated from the following files: