diff options
Diffstat (limited to 'src/DownloadEngine.cc')
| -rw-r--r-- | src/DownloadEngine.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/DownloadEngine.cc b/src/DownloadEngine.cc index 71607ca0..18aa963b 100644 --- a/src/DownloadEngine.cc +++ b/src/DownloadEngine.cc @@ -107,18 +107,21 @@ DownloadEngine::DownloadEngine(const SharedHandle<EventPoll>& eventPoll) sessionId_.assign(&sessionId[0], & sessionId[sizeof(sessionId)]); } +namespace { +void cleanQueue(std::deque<Command*>& commands) { + std::for_each(commands.begin(), commands.end(), Deleter()); + commands.clear(); +} +} // namespace + DownloadEngine::~DownloadEngine() { - cleanQueue(); + cleanQueue(commands_); + cleanQueue(routineCommands_); #ifdef HAVE_ARES_ADDR_NODE setAsyncDNSServers(0); #endif // HAVE_ARES_ADDR_NODE } -void DownloadEngine::cleanQueue() { - std::for_each(commands_.begin(), commands_.end(), Deleter()); - commands_.clear(); -} - namespace { void executeCommand(std::deque<Command*>& commands, Command::STATUS statusFilter) |
