Merge branch 'fix-initial-rq-leak' of https://github.com/nmaier/aria2 into nmaier-fix-initial-rq-leak

pull/50/merge
Tatsuhiro Tsujikawa 2013-02-26 21:56:37 +09:00
commit dfac717dbf
2 changed files with 9 additions and 3 deletions

View File

@ -104,7 +104,7 @@ void handler(int signal) {
} // namespace } // namespace
MultiUrlRequestInfo::MultiUrlRequestInfo MultiUrlRequestInfo::MultiUrlRequestInfo
(const std::vector<SharedHandle<RequestGroup> >& requestGroups, (std::vector<SharedHandle<RequestGroup> >& requestGroups,
const SharedHandle<Option>& op, const SharedHandle<Option>& op,
const SharedHandle<StatCalc>& statCalc, const SharedHandle<StatCalc>& statCalc,
const SharedHandle<OutputFile>& summaryOut, const SharedHandle<OutputFile>& summaryOut,
@ -158,6 +158,8 @@ error_code::Value MultiUrlRequestInfo::execute()
SharedHandle<DownloadEngine> e = SharedHandle<DownloadEngine> e =
DownloadEngineFactory().newDownloadEngine(option_.get(), requestGroups_); DownloadEngineFactory().newDownloadEngine(option_.get(), requestGroups_);
// Avoid keeping RequestGroups alive longer than necessary
requestGroups_.clear();
if(!option_->blank(PREF_LOAD_COOKIES)) { if(!option_->blank(PREF_LOAD_COOKIES)) {
File cookieFile(option_->get(PREF_LOAD_COOKIES)); File cookieFile(option_->get(PREF_LOAD_COOKIES));

View File

@ -52,7 +52,7 @@ class UriListParser;
class MultiUrlRequestInfo { class MultiUrlRequestInfo {
private: private:
std::vector<SharedHandle<RequestGroup> > requestGroups_; std::vector<SharedHandle<RequestGroup> >& requestGroups_;
SharedHandle<Option> option_; SharedHandle<Option> option_;
@ -64,8 +64,12 @@ private:
void printMessageForContinue(); void printMessageForContinue();
public: public:
/*
* MultiRequestInfo effectively takes ownership of the
* requestGroups.
*/
MultiUrlRequestInfo MultiUrlRequestInfo
(const std::vector<SharedHandle<RequestGroup> >& requestGroups, (std::vector<SharedHandle<RequestGroup> >& requestGroups,
const SharedHandle<Option>& op, const SharedHandle<Option>& op,
const SharedHandle<StatCalc>& statCalc, const SharedHandle<StatCalc>& statCalc,
const SharedHandle<OutputFile>& summaryOut, const SharedHandle<OutputFile>& summaryOut,