mirror of
https://github.com/intel/llvm.git
synced 2026-01-15 04:17:17 +08:00
SBQueue::GetNumPendingItems() should not force a fetch of the pending
items; the backing Queue object has the number of pending items already cached. Also, add SBQueue::GetNumRunningItems() to provide that information. <rdar://problem/16272016> llvm-svn: 203420
This commit is contained in:
@@ -222,21 +222,24 @@ namespace lldb_private
|
||||
}
|
||||
return sb_thread;
|
||||
}
|
||||
|
||||
|
||||
|
||||
uint32_t
|
||||
GetNumPendingItems ()
|
||||
{
|
||||
uint32_t result = 0;
|
||||
FetchItems();
|
||||
|
||||
if (m_pending_items_fetched)
|
||||
|
||||
QueueSP queue_sp = m_queue_wp.lock();
|
||||
if (m_pending_items_fetched == false && queue_sp)
|
||||
{
|
||||
result = queue_sp->GetNumPendingWorkItems();
|
||||
}
|
||||
else
|
||||
{
|
||||
result = m_pending_items.size();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
lldb::SBQueueItem
|
||||
GetPendingItemAtIndex (uint32_t idx)
|
||||
{
|
||||
@@ -248,6 +251,16 @@ namespace lldb_private
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
GetNumRunningItems ()
|
||||
{
|
||||
uint32_t result = 0;
|
||||
QueueSP queue_sp = m_queue_wp.lock();
|
||||
if (queue_sp)
|
||||
result = queue_sp->GetNumRunningWorkItems();
|
||||
return result;
|
||||
}
|
||||
|
||||
lldb::SBProcess
|
||||
GetProcess ()
|
||||
@@ -399,6 +412,16 @@ SBQueue::GetPendingItemAtIndex (uint32_t idx)
|
||||
return m_opaque_sp->GetPendingItemAtIndex (idx);
|
||||
}
|
||||
|
||||
uint32_t
|
||||
SBQueue::GetNumRunningItems ()
|
||||
{
|
||||
uint32_t running_items = m_opaque_sp->GetNumRunningItems ();
|
||||
Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
|
||||
if (log)
|
||||
log->Printf("SBQueue(0x%" PRIx64 ")::GetNumRunningItems() == %d", m_opaque_sp->GetQueueID(), running_items);
|
||||
return running_items;
|
||||
}
|
||||
|
||||
SBProcess
|
||||
SBQueue::GetProcess ()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user