Changeset 583 for trunk


Ignore:
Timestamp:
10/05/08 12:24:38 (11 years ago)
Author:
Eoin
Message:

Checking file bug tracked down.

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/halSession.cpp

    r577 r583  
    373373{ 
    374374        mutex_t::scoped_lock l(mutex_); 
    375          
    376         HAL_DEV_MSG(hal::wform(L"start_alert_handler")); 
    377  
    378         boost::function<void (void)> f = bind(&bit_impl::alert_handler, this); 
    379  
    380         keepChecking_ = true; 
    381         alert_checker_ = boost::in_place<boost::function<void (void)> >(bind(&bit_impl::alert_handler, this)); 
     375 
     376        if (alert_checker_ == boost::none) 
     377        {        
     378                HAL_DEV_MSG(hal::wform(L"start_alert_handler")); 
     379 
     380                boost::function<void (void)> f = bind(&bit_impl::alert_handler, this); 
     381 
     382                keepChecking_ = true; 
     383                alert_checker_ = boost::in_place<boost::function<void (void)> >(bind(&bit_impl::alert_handler, this)); 
     384        } 
    382385} 
    383386         
  • trunk/src/halTorrentInternal.hpp

    r578 r583  
    518518 
    519519                HAL_DEV_MSG(hal::wform(L"add_to_session() paused=%1%") % paused); 
     520 
    520521                 
    521522                if (!in_session())  
    522                 {                        
    523                         path dir = path_to_utf8(save_directory_); 
    524                          
    525                         libt::storage_mode_t storage = libt::storage_mode_sparse; 
    526                          
    527                         if (compactStorage_) 
    528                                 storage = libt::storage_mode_compact; 
    529                          
    530                         libt::add_torrent_params atp; 
    531  
    532                         atp.save_path = dir; 
    533                         atp.ti = info_memory(); 
    534                         atp.storage_mode = storage; 
    535                         atp.paused = paused; 
    536  
    537                         handle_ = the_session_->add_torrent(atp);                        
     523                {        
     524                        libt::add_torrent_params p; 
     525 
     526                        string torrent_file = to_utf8((hal::app().get_working_directory()/L"torrents"/filename_).string()); 
     527                        info_memory_.reset(new libt::torrent_info(torrent_file.c_str())); 
     528 
     529                        std::string resume_file = to_utf8((hal::app().get_working_directory()/L"resume" / (name_ + L".fastresume")).string()); 
     530 
     531                        std::vector<char> buf; 
     532                        if (libt::load_file(resume_file.c_str(), buf) == 0) 
     533                                p.resume_data = &buf; 
     534 
     535                        p.ti = info_memory_; 
     536                        p.save_path = path_to_utf8(save_directory_); 
     537                        p.storage_mode = libt::storage_mode_compact;//compactStorage_ ? libt::storage_mode_compact : libt::storage_mode_sparse; 
     538                        p.paused = paused; 
     539                        p.duplicate_is_error = false; 
     540                        p.auto_managed = false; 
     541 
     542                        handle_ = the_session_->add_torrent(p);          
    538543                        assert(handle_.is_valid()); 
    539                          
    540                         clear_resume_data(); 
    541                          
    542544                        in_session_ = true; 
    543                         if (paused) 
    544                                 state_ = torrent_details::torrent_paused;        
    545                         else 
    546                                 state_ = torrent_details::torrent_active;        
    547                                  
    548                         applySettings(); 
    549                         handle_.force_reannounce(); 
     545                         
     546                //      clear_resume_data(); 
     547                //      handle_.force_reannounce(); 
    550548                }        
    551549 
     
    716714                        create_directory(resumeDir); 
    717715                                 
    718                 bool halencode_result = halencode(resumeDir/filename_, resumedata_); 
    719                 assert(halencode_result); 
     716//              bool halencode_result = halencode(resumeDir/filename_, resumedata_); 
     717//              assert(halencode_result); 
    720718                HAL_DEV_MSG(L"Written!"); 
    721719        } 
     
    728726                        remove(resumeFile); 
    729727 
    730                 resumedata_ = libt::entry(); 
     728//              resumedata_ = libt::entry(); 
    731729        } 
    732730 
     
    956954        {                
    957955                info_memory_ = metadata; 
    958                 resumedata_ = resumedata; 
     956//              resumedata_ = resumedata; 
    959957        } 
    960958 
     
    12901288         
    12911289//      boost::intrusive_ptr<libt::torrent_info> metadata_; 
    1292         libt::entry resumedata_; 
     1290        libt::lazy_entry resumedata_; 
    12931291         
    12941292        wstring trackerUsername_;        
Note: See TracChangeset for help on using the changeset viewer.