summaryrefslogtreecommitdiffstats
path: root/lldb/source/Host/posix/MainLoopPosix.cpp
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2015-07-17 10:08:38 +0000
committerPavel Labath <labath@google.com>2015-07-17 10:08:38 +0000
commitf3898c30e6ce51183170e161a85e0c0964f1c5a9 (patch)
treee2069c1f00e0ce168fa78387dcc6dd5cd4a73242 /lldb/source/Host/posix/MainLoopPosix.cpp
parent65bc306345848b3a79753a435a19a639da6942e2 (diff)
downloadbcm5719-llvm-f3898c30e6ce51183170e161a85e0c0964f1c5a9.tar.gz
bcm5719-llvm-f3898c30e6ce51183170e161a85e0c0964f1c5a9.zip
[MainLoop] Fix assertion failure
Upon connection termination the waitable handle of an IOObject gets reset to an invalid handle. This caused a problem since we used the object->GetWaitableHandle as a key to the set of registered events. The fix is to use something more immutable as a key: we make a copy of the original waitable handle, instead of holding onto the IOObject. llvm-svn: 242515
Diffstat (limited to 'lldb/source/Host/posix/MainLoopPosix.cpp')
-rw-r--r--lldb/source/Host/posix/MainLoopPosix.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lldb/source/Host/posix/MainLoopPosix.cpp b/lldb/source/Host/posix/MainLoopPosix.cpp
index cb213b9b79f..dccd7fa8022 100644
--- a/lldb/source/Host/posix/MainLoopPosix.cpp
+++ b/lldb/source/Host/posix/MainLoopPosix.cpp
@@ -94,9 +94,9 @@ MainLoopPosix::RegisterSignal(int signo, const Callback &callback, Error &error)
}
void
-MainLoopPosix::UnregisterReadObject(const lldb::IOObjectSP &object_sp)
+MainLoopPosix::UnregisterReadObject(IOObject::WaitableHandle handle)
{
- bool erased = m_read_fds.erase(object_sp->GetWaitableHandle());
+ bool erased = m_read_fds.erase(handle);
(void) erased;
assert(erased);
}
OpenPOWER on IntegriCloud