diff options
author | Riccardo Spagni <ric@spagni.net> | 2017-07-19 11:48:50 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2017-07-19 11:48:51 +0200 |
commit | f584a2de92ad81f1696e0b48465e79acd70f3e17 (patch) | |
tree | 1a8e8303943c7e09b167b701198945861b01ea04 | |
parent | Merge pull request #2130 (diff) | |
parent | abstract_tcp_server2: guard against accessing lock on a destroyed object (diff) | |
download | monero-f584a2de92ad81f1696e0b48465e79acd70f3e17.tar.xz |
Merge pull request #2131
a04faf56 abstract_tcp_server2: guard against accessing lock on a destroyed object (moneromooo-monero)
-rw-r--r-- | contrib/epee/include/net/abstract_tcp_server2.inl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/contrib/epee/include/net/abstract_tcp_server2.inl b/contrib/epee/include/net/abstract_tcp_server2.inl index 0fbd9ed28..61276e761 100644 --- a/contrib/epee/include/net/abstract_tcp_server2.inl +++ b/contrib/epee/include/net/abstract_tcp_server2.inl @@ -209,14 +209,14 @@ PRAGMA_WARNING_DISABLE_VS(4355) bool connection<t_protocol_handler>::add_ref() { TRY_ENTRY(); - //_dbg3("[sock " << socket_.native_handle() << "] add_ref, m_peer_number=" << mI->m_peer_number); - CRITICAL_REGION_LOCAL(m_self_refs_lock); - //_dbg3("[sock " << socket_.native_handle() << "] add_ref 2, m_peer_number=" << mI->m_peer_number); // Use safe_shared_from_this, because of this is public method and it can be called on the object being deleted auto self = safe_shared_from_this(); if(!self) return false; + //_dbg3("[sock " << socket_.native_handle() << "] add_ref, m_peer_number=" << mI->m_peer_number); + CRITICAL_REGION_LOCAL(self->m_self_refs_lock); + //_dbg3("[sock " << socket_.native_handle() << "] add_ref 2, m_peer_number=" << mI->m_peer_number); if(m_was_shutdown) return false; m_self_refs.push_back(self); |