summaryrefslogtreecommitdiff
path: root/plugins/rtti
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/rtti')
-rw-r--r--plugins/rtti/itanium.cpp2
-rw-r--r--plugins/rtti/microsoft.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/plugins/rtti/itanium.cpp b/plugins/rtti/itanium.cpp
index 122869cc..fde0e7f8 100644
--- a/plugins/rtti/itanium.cpp
+++ b/plugins/rtti/itanium.cpp
@@ -685,6 +685,8 @@ void ItaniumRTTIProcessor::ProcessRTTI()
// Scan data sections for rtti.
for (const Ref<Section> &section: m_view->GetSections())
{
+ if (bgTask->IsCancelled())
+ break;
if (section->GetSemantics() == ReadOnlyDataSectionSemantics)
{
m_logger->LogDebug("Attempting to find RTTI in section %llx", section->GetStart());
diff --git a/plugins/rtti/microsoft.cpp b/plugins/rtti/microsoft.cpp
index 95c76311..2eba68d2 100644
--- a/plugins/rtti/microsoft.cpp
+++ b/plugins/rtti/microsoft.cpp
@@ -733,6 +733,8 @@ void MicrosoftRTTIProcessor::ProcessVFT()
auto rdataSection = m_view->GetSectionByName(".rdata");
for (const Ref<Segment> &segment: m_view->GetSegments())
{
+ if (bgTask->IsCancelled())
+ break;
if (segment->GetFlags() == (SegmentReadable | SegmentContainsData))
{
m_logger->LogDebug("Attempting to find VirtualFunctionTables in segment %llx", segment->GetStart());