1 //===-- QueueItem.cpp -------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "lldb/Target/Queue.h"
11 #include "lldb/Target/Process.h"
12 #include "lldb/Target/QueueItem.h"
13 #include "lldb/Target/SystemRuntime.h"
16 using namespace lldb_private;
18 QueueItem::QueueItem (QueueSP queue_sp) :
20 m_kind (eQueueItemKindUnknown),
22 m_item_that_enqueued_this_ref (LLDB_INVALID_ADDRESS),
23 m_enqueueing_thread_id (LLDB_INVALID_THREAD_ID),
24 m_enqueueing_queue_id (LLDB_INVALID_QUEUE_ID),
25 m_target_queue_id (LLDB_INVALID_QUEUE_ID),
30 m_target_queue_label()
32 m_queue_wp = queue_sp;
35 QueueItem::~QueueItem ()
40 QueueItem::GetKind() const
46 QueueItem::SetKind (QueueItemKind item_kind)
52 QueueItem::GetAddress ()
58 QueueItem::SetAddress (Address addr)
64 QueueItem::GetExtendedBacktraceThread (ConstString type)
66 ThreadSP return_thread;
67 QueueSP queue_sp = m_queue_wp.lock();
70 ProcessSP process_sp = queue_sp->GetProcess();
71 if (process_sp && process_sp->GetSystemRuntime())
73 return_thread = process_sp->GetSystemRuntime()->GetExtendedBacktraceForQueueItem (this->shared_from_this(), type);