|
LLDB mainline
|
#include <MainLoopWindows.h>
Classes | |
| struct | FdInfo |
| class | IOEvent |
Public Types | |
| using | IOEventUP = std::unique_ptr<IOEvent> |
| Public Types inherited from lldb_private::MainLoopBase | |
| using | TimePoint |
| typedef std::unique_ptr< ReadHandle > | ReadHandleUP |
| typedef std::function< void(MainLoopBase &)> | Callback |
Public Member Functions | |
| MainLoopWindows () | |
| ~MainLoopWindows () override | |
| ReadHandleUP | RegisterReadObject (const lldb::IOObjectSP &object_sp, const Callback &callback, Status &error) override |
| Status | Run () override |
| Public Member Functions inherited from lldb_private::MainLoopBase | |
| MainLoopBase () | |
| virtual | ~MainLoopBase ()=default |
| bool | AddPendingCallback (const Callback &callback) |
| bool | AddCallback (const Callback &callback, std::chrono::nanoseconds delay) |
| bool | AddCallback (const Callback &callback, TimePoint point) |
| virtual void | RequestTermination () |
Protected Member Functions | |
| void | UnregisterReadObject (IOObject::WaitableHandle handle) override |
| bool | Interrupt () override |
| Interrupt the loop that is currently waiting for events. | |
| Protected Member Functions inherited from lldb_private::MainLoopBase | |
| ReadHandleUP | CreateReadHandle (const lldb::IOObjectSP &object_sp) |
| void | ProcessCallbacks () |
| std::optional< TimePoint > | GetNextWakeupTime () |
Private Member Functions | |
| llvm::Expected< size_t > | Poll () |
Private Attributes | |
| llvm::DenseMap< IOObject::WaitableHandle, FdInfo > | m_read_fds |
| void * | m_interrupt_event |
Additional Inherited Members | |
| Protected Attributes inherited from lldb_private::MainLoopBase | |
| std::mutex | m_callback_mutex |
| std::priority_queue< std::pair< TimePoint, Callback >, std::vector< std::pair< TimePoint, Callback > >, llvm::on_first< std::greater< TimePoint > > > | m_callbacks |
| bool | m_terminate_request: 1 |
Definition at line 25 of file MainLoopWindows.h.
| using lldb_private::MainLoopWindows::IOEventUP = std::unique_ptr<IOEvent> |
Definition at line 48 of file MainLoopWindows.h.
| MainLoopWindows::MainLoopWindows | ( | ) |
Definition at line 170 of file MainLoopWindows.cpp.
References m_interrupt_event.
|
override |
Definition at line 175 of file MainLoopWindows.cpp.
References m_interrupt_event, m_read_fds, and UNUSED_IF_ASSERT_DISABLED.
|
overrideprotectedvirtual |
Interrupt the loop that is currently waiting for events.
Return true if the interrupt succeeded, false if it failed.
Implements lldb_private::MainLoopBase.
Definition at line 275 of file MainLoopWindows.cpp.
References m_interrupt_event.
|
private |
Definition at line 182 of file MainLoopWindows.cpp.
References lldb_private::MainLoopBase::GetNextWakeupTime(), m_interrupt_event, m_read_fds, and ToTimeout().
Referenced by Run().
|
overridevirtual |
Implements lldb_private::MainLoopBase.
Definition at line 210 of file MainLoopWindows.cpp.
References lldb_private::MainLoopBase::CreateReadHandle(), lldb_private::IOObject::eFDTypeSocket, error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), lldb_private::IOObject::kInvalidHandleValue, and m_read_fds.
|
overridevirtual |
Reimplemented from lldb_private::MainLoopBase.
Definition at line 252 of file MainLoopWindows.cpp.
References error(), lldb_private::Status::FromError(), m_interrupt_event, m_read_fds, lldb_private::MainLoopBase::m_terminate_request, Poll(), lldb_private::MainLoopBase::ProcessCallbacks(), and lldb_private::Status.
|
overrideprotectedvirtual |
Implements lldb_private::MainLoopBase.
Definition at line 246 of file MainLoopWindows.cpp.
References m_read_fds.
|
private |
Definition at line 63 of file MainLoopWindows.h.
Referenced by Interrupt(), MainLoopWindows(), Poll(), Run(), and ~MainLoopWindows().
|
private |
Definition at line 62 of file MainLoopWindows.h.
Referenced by Poll(), RegisterReadObject(), Run(), UnregisterReadObject(), and ~MainLoopWindows().