diff --git a/src/downloader.cpp b/src/downloader.cpp index 25dfc1e9..5193c51d 100644 --- a/src/downloader.cpp +++ b/src/downloader.cpp @@ -151,11 +151,20 @@ Downloader::Downloader() : /* Destructor */ Downloader::~Downloader() { + close(); } void Downloader::close() { - mp_aria->close(); + if ( mp_aria ) { + try { + mp_aria->close(); + } catch (const std::exception& err) { + std::cerr << "ERROR: Failed to save the downloader state: " + << err.what() << std::endl; + } + mp_aria.reset(); + } } std::vector Downloader::getDownloadIds() const {