Ticket #1272: tracker_timer_fix.diff

File tracker_timer_fix.diff, 0.9 KB (added by josef, 4 years ago)

fix for tracker timer crash

  • libtorrent/src/tracker/tracker_manager.cc

     
    114114  if (m_control->state() == DownloadInfo::STOPPED) 
    115115    throw internal_error("TrackerManager::send_later() m_control->set() == DownloadInfo::STOPPED."); 
    116116 
     117  rak::timer t(std::max(cachedTime + rak::timer::from_seconds(2), 
     118                        rak::timer::from_seconds(m_control->time_last_connection() + m_control->focus_min_interval()))); 
     119 
    117120  priority_queue_erase(&taskScheduler, &m_taskTimeout); 
    118   priority_queue_insert(&taskScheduler, &m_taskTimeout, rak::timer::from_seconds(m_control->time_last_connection() + m_control->focus_min_interval())); 
     121  priority_queue_insert(&taskScheduler, &m_taskTimeout, t); 
    119122} 
    120123 
    121124// When request_{current,next} is called, m_isRequesting is set to