Work in progress for:

rdar://problem/10577182
Audit lldb API impl for places where we need to perform a NULL check

Add a NULL check for SBTarget.AttachToProcessWithName() so it will not hang.

llvm-svn: 146948
This commit is contained in:
Johnny Chen 2011-12-20 01:22:03 +00:00
parent 00723591b8
commit 3ac503e042
2 changed files with 8 additions and 1 deletions

View File

@ -379,7 +379,7 @@ SBTarget::AttachToProcessWithName
)
{
SBProcess sb_process;
if (m_opaque_sp)
if (name && m_opaque_sp)
{
Mutex::Locker api_locker (m_opaque_sp->GetAPIMutex());

View File

@ -155,6 +155,13 @@ class HelloWorldTestCase(TestBase):
error = lldb.SBError()
# Pass 'False' since we don't want to wait for new instance of "hello_world" to be launched.
name = os.path.basename(self.exe)
# While we're at it, make sure that passing a None as the process name
# does not hang LLDB.
target.AttachToProcessWithName(listener, None, False, error)
# Also boundary condition test ConnectRemote(), too.
target.ConnectRemote(listener, None, None, error)
process = target.AttachToProcessWithName(listener, name, False, error)
self.assertTrue(error.Success() and process, PROCESS_IS_VALID)