Protect 'disconnect' from a dead weak pointer.

This commit is contained in:
JoelKatz
2013-09-27 20:00:18 -07:00
parent 9b28ad136b
commit 13a09113ba

View File

@@ -138,9 +138,11 @@ public:
void disconnect ()
{
connection_ptr ptr = m_connection.lock ();
m_io_service.dispatch (ptr->get_strand ().wrap (boost::bind (
&WSConnectionType <endpoint_type>::handle_disconnect,
m_connection)));
if (ptr)
m_io_service.dispatch (ptr->get_strand ().wrap (boost::bind (
&WSConnectionType <endpoint_type>::handle_disconnect,
m_connection)));
}
static void handle_disconnect(weak_connection_ptr c)