Modified all logging calls to hand out shared pointers to make sure we

don't crash if we disable logging when some code already has a copy of the
logger. Prior to this fix, logs were handed out as pointers and if they were
held onto while a log got disabled, then it could cause a crash. Now all logs
are handed out as shared pointers so this problem shouldn't happen anymore.
We are also using our new shared pointers that put the shared pointer count
and the object into the same allocation for a tad better performance.

llvm-svn: 118319
This commit is contained in:
Greg Clayton
2010-11-06 01:53:30 +00:00
parent 8e3d95e7df
commit 2d4edfbc6a
98 changed files with 586 additions and 565 deletions

View File

@@ -36,7 +36,7 @@ Module::Module(const FileSpec& file_spec, const ArchSpec& arch, const ConstStrin
{
if (object_name)
m_object_name = *object_name;
Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_OBJECT);
LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_OBJECT));
if (log)
log->Printf ("%p Module::Module((%s) '%s/%s%s%s%s')",
this,
@@ -50,7 +50,7 @@ Module::Module(const FileSpec& file_spec, const ArchSpec& arch, const ConstStrin
Module::~Module()
{
Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_OBJECT);
LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_OBJECT));
if (log)
log->Printf ("%p Module::~Module((%s) '%s/%s%s%s%s')",
this,