diff options
Diffstat (limited to 'source/Core/StreamCallback.cpp')
-rw-r--r-- | source/Core/StreamCallback.cpp | 59 |
1 files changed, 25 insertions, 34 deletions
diff --git a/source/Core/StreamCallback.cpp b/source/Core/StreamCallback.cpp index 9f0adee2a159..de784101e969 100644 --- a/source/Core/StreamCallback.cpp +++ b/source/Core/StreamCallback.cpp @@ -9,51 +9,42 @@ #include <stdio.h> -#include "lldb/lldb-private.h" #include "lldb/Core/Broadcaster.h" #include "lldb/Core/Event.h" #include "lldb/Core/StreamCallback.h" #include "lldb/Host/Host.h" +#include "lldb/lldb-private.h" using namespace lldb; using namespace lldb_private; StreamCallback::StreamCallback(lldb::LogOutputCallback callback, void *baton) - : Stream(0, 4, eByteOrderBig), m_callback(callback), m_baton(baton), m_accumulated_data(), m_collection_mutex() -{ -} - -StreamCallback::~StreamCallback () -{ -} - -StreamString & -StreamCallback::FindStreamForThread(lldb::tid_t cur_tid) -{ - std::lock_guard<std::mutex> guard(m_collection_mutex); - collection::iterator iter = m_accumulated_data.find (cur_tid); - if (iter == m_accumulated_data.end()) - { - std::pair<collection::iterator, bool> ret; - ret = m_accumulated_data.insert(std::pair<lldb::tid_t,StreamString>(cur_tid, StreamString())); - iter = ret.first; - } - return (*iter).second; + : Stream(0, 4, eByteOrderBig), m_callback(callback), m_baton(baton), + m_accumulated_data(), m_collection_mutex() {} + +StreamCallback::~StreamCallback() {} + +StreamString &StreamCallback::FindStreamForThread(lldb::tid_t cur_tid) { + std::lock_guard<std::mutex> guard(m_collection_mutex); + collection::iterator iter = m_accumulated_data.find(cur_tid); + if (iter == m_accumulated_data.end()) { + std::pair<collection::iterator, bool> ret; + ret = m_accumulated_data.insert( + std::pair<lldb::tid_t, StreamString>(cur_tid, StreamString())); + iter = ret.first; + } + return (*iter).second; } -void -StreamCallback::Flush () -{ - lldb::tid_t cur_tid = Host::GetCurrentThreadID(); - StreamString &out_stream = FindStreamForThread(cur_tid); - m_callback (out_stream.GetData(), m_baton); - out_stream.Clear(); +void StreamCallback::Flush() { + lldb::tid_t cur_tid = Host::GetCurrentThreadID(); + StreamString &out_stream = FindStreamForThread(cur_tid); + m_callback(out_stream.GetData(), m_baton); + out_stream.Clear(); } -size_t -StreamCallback::Write (const void *s, size_t length) -{ - lldb::tid_t cur_tid = Host::GetCurrentThreadID(); - FindStreamForThread(cur_tid).Write (s, length); - return length; +size_t StreamCallback::Write(const void *s, size_t length) { + lldb::tid_t cur_tid = Host::GetCurrentThreadID(); + FindStreamForThread(cur_tid).Write(s, length); + return length; } |