|
|
@ -410,7 +410,12 @@ PRAGMA_WARNING_DISABLE_VS(4355)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_dbg3("[sock " << socket().native_handle() << "] peer closed connection");
|
|
|
|
_dbg3("[sock " << socket().native_handle() << "] peer closed connection");
|
|
|
|
if (m_ready_to_close)
|
|
|
|
bool do_shutdown = false;
|
|
|
|
|
|
|
|
CRITICAL_REGION_BEGIN(m_send_que_lock);
|
|
|
|
|
|
|
|
if(!m_send_que.size())
|
|
|
|
|
|
|
|
do_shutdown = true;
|
|
|
|
|
|
|
|
CRITICAL_REGION_END();
|
|
|
|
|
|
|
|
if (m_ready_to_close || do_shutdown)
|
|
|
|
shutdown();
|
|
|
|
shutdown();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_ready_to_close = true;
|
|
|
|
m_ready_to_close = true;
|
|
|
@ -470,6 +475,7 @@ PRAGMA_WARNING_DISABLE_VS(4355)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
MERROR("SSL handshake failed");
|
|
|
|
MERROR("SSL handshake failed");
|
|
|
|
boost::interprocess::ipcdetail::atomic_write32(&m_want_close_connection, 1);
|
|
|
|
boost::interprocess::ipcdetail::atomic_write32(&m_want_close_connection, 1);
|
|
|
|
|
|
|
|
m_ready_to_close = true;
|
|
|
|
bool do_shutdown = false;
|
|
|
|
bool do_shutdown = false;
|
|
|
|
CRITICAL_REGION_BEGIN(m_send_que_lock);
|
|
|
|
CRITICAL_REGION_BEGIN(m_send_que_lock);
|
|
|
|
if(!m_send_que.size())
|
|
|
|
if(!m_send_que.size())
|
|
|
|