aboutsummaryrefslogtreecommitdiff
path: root/contrib/epee/include/net
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/epee/include/net')
-rw-r--r--contrib/epee/include/net/levin_protocol_handler_async.h6
-rw-r--r--contrib/epee/include/net/net_helper.h3
2 files changed, 8 insertions, 1 deletions
diff --git a/contrib/epee/include/net/levin_protocol_handler_async.h b/contrib/epee/include/net/levin_protocol_handler_async.h
index 0b1fe05fa..e9853ee26 100644
--- a/contrib/epee/include/net/levin_protocol_handler_async.h
+++ b/contrib/epee/include/net/levin_protocol_handler_async.h
@@ -275,6 +275,9 @@ public:
}
virtual ~async_protocol_handler()
{
+ try
+ {
+
m_deletion_initiated = true;
if(m_connection_initialized)
{
@@ -288,6 +291,9 @@ public:
CHECK_AND_ASSERT_MES_NO_RET(0 == boost::interprocess::ipcdetail::atomic_read32(&m_wait_count), "Failed to wait for operation completion. m_wait_count = " << m_wait_count);
MTRACE(m_connection_context << "~async_protocol_handler()");
+
+ }
+ catch (...) { /* ignore */ }
}
bool start_outer_call()
diff --git a/contrib/epee/include/net/net_helper.h b/contrib/epee/include/net/net_helper.h
index 2c2efcd82..94744ac21 100644
--- a/contrib/epee/include/net/net_helper.h
+++ b/contrib/epee/include/net/net_helper.h
@@ -106,7 +106,8 @@ namespace net_utils
~blocked_mode_client()
{
//profile_tools::local_coast lc("~blocked_mode_client()", 3);
- shutdown();
+ try { shutdown(); }
+ catch(...) { /* ignore */ }
}
inline