Merge pull request #5531

9a6006b abstract_tcp_server2: move some things out of a lock (moneromooo-monero)
This commit is contained in:
luigi1111 2019-07-24 14:08:52 -05:00
commit 38e0e58a95
No known key found for this signature in database
GPG Key ID: F4ACA0183641E010

View File

@ -327,12 +327,14 @@ PRAGMA_WARNING_DISABLE_VS(4355)
if (!e) if (!e)
{ {
double current_speed_down;
{ {
CRITICAL_REGION_LOCAL(m_throttle_speed_in_mutex); CRITICAL_REGION_LOCAL(m_throttle_speed_in_mutex);
m_throttle_speed_in.handle_trafic_exact(bytes_transferred); m_throttle_speed_in.handle_trafic_exact(bytes_transferred);
context.m_current_speed_down = m_throttle_speed_in.get_current_speed(); current_speed_down = m_throttle_speed_in.get_current_speed();
context.m_max_speed_down = std::max(context.m_max_speed_down, context.m_current_speed_down);
} }
context.m_current_speed_down = current_speed_down;
context.m_max_speed_down = std::max(context.m_max_speed_down, current_speed_down);
{ {
CRITICAL_REGION_LOCAL( epee::net_utils::network_throttle_manager::network_throttle_manager::m_lock_get_global_throttle_in ); CRITICAL_REGION_LOCAL( epee::net_utils::network_throttle_manager::network_throttle_manager::m_lock_get_global_throttle_in );
@ -602,12 +604,14 @@ PRAGMA_WARNING_DISABLE_VS(4355)
return false; return false;
if(m_was_shutdown) if(m_was_shutdown)
return false; return false;
double current_speed_up;
{ {
CRITICAL_REGION_LOCAL(m_throttle_speed_out_mutex); CRITICAL_REGION_LOCAL(m_throttle_speed_out_mutex);
m_throttle_speed_out.handle_trafic_exact(cb); m_throttle_speed_out.handle_trafic_exact(cb);
context.m_current_speed_up = m_throttle_speed_out.get_current_speed(); current_speed_up = m_throttle_speed_out.get_current_speed();
context.m_max_speed_up = std::max(context.m_max_speed_up, context.m_current_speed_up);
} }
context.m_current_speed_up = current_speed_up;
context.m_max_speed_up = std::max(context.m_max_speed_up, current_speed_up);
//_info("[sock " << socket().native_handle() << "] SEND " << cb); //_info("[sock " << socket().native_handle() << "] SEND " << cb);
context.m_last_send = time(NULL); context.m_last_send = time(NULL);